Hep*_*tic 14

由于我是Scoobi的开发人员,不要指望一个公正的答案.

首先,FlumeJava是一个内部谷歌项目,它提供了一个(非常高效的)抽象的MapReduce(尽管不是hadoop).他们发布了一篇关于它的论文,这就是像Scoobi和Crunch这样的项目所基于的.

如果您的唯一标准是成熟度 - 我想Cascading是您最好的选择.

但是,如果你正在寻找(imho superior)FlumeJava风格的抽象,你需要在(S)crunch和Scoobi之间进行选择.

最大的区别,表面上可能是因为Scala绑定(Scrunch)是用Java编写的.Scoobi是用Scala编写的Java绑定(scoobij).他们都是非常可靠的选择,你选择的不会出错.我确信与Crunch有相似的故事,但Scoobi正在用于实际项目并且正在不断发展.我们非常积极地修复错误和实现功能.

无论如何,他们都是伟大的项目,背后有伟大的人,他们都在几天之内被释放.它们提供相同的抽象(具有类似的api),因此在两者之间切换不会是最轻微的问题.我的建议是尝试一下,看看哪些适合你.两个项目都没有锁定,所以你不需要提交:)

如果您对这两个项目有任何反馈,请务必提供:)


Age*_*oij 5

我自己是一个很大的Scoobi粉丝,我在制作中使用它.我喜欢它允许你以非常惯用的Scala方式编写类型安全的Hadoop程序的方式.如果这不一定是你的事情而且你喜欢Cascading模型,但是被你必须编写的大量样板代码所吓倒,Twitter最近在Cascading上开放了自己的Scala抽象层,称为Scalding.

我想这一点都是品味问题,因为功能方面大多数框架都非常接近.


小智 2

Scalding 还具有在其之上构建的重要开源项目的优势,例如 Matrix API 和 Algebird。

这里有些例子: http ://sujitpal.blogspot.com/2012/08/scalding-for-impatent.html

Cascalog 比 Scalding 早两年发布,可以说具有更高级的功能来构建强大的工作流程: https: //github.com/nathanmarz/cascalog/wiki