用Java/Scala为Hadoop构建数据分析管道最成熟的库是什么?

用Java/Scala为Hadoop构建数据分析管道最成熟的库是什么?,scala,hadoop,cascading,flume,Scala,Hadoop,Cascading,Flume,我最近发现了许多选择,并且对它们的比较很感兴趣,这主要取决于成熟度和稳定性 嘎吱- 蜷缩 级联- 滚烫的 FlumeJava 史酷比 因为我是Scoobi的开发者,所以不要期待一个公正的答案 首先,FlumeJava是一个内部的google项目,它提供了MapReduce(而不是hadoop)的一个(非常高效的)抽象ontop。他们发表了一篇关于它的论文,这也是Scoobi和Crunch等项目的基础 如果你的唯一标准是成熟度——我想级联是你最好的选择 但是,如果您正在寻找(imho superi

我最近发现了许多选择,并且对它们的比较很感兴趣,这主要取决于成熟度和稳定性

  • 嘎吱-
  • 蜷缩
  • 级联-
  • 滚烫的
  • FlumeJava
  • 史酷比

  • 因为我是Scoobi的开发者,所以不要期待一个公正的答案

    首先,FlumeJava是一个内部的google项目,它提供了MapReduce(而不是hadoop)的一个(非常高效的)抽象ontop。他们发表了一篇关于它的论文,这也是Scoobi和Crunch等项目的基础

    如果你的唯一标准是成熟度——我想级联是你最好的选择

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

    最大的区别(尽管可能是表面的)是crunch是用Java编写的,带有Scala绑定(Scrunch)。Scoobi是用Scala和Java绑定(scoobij)编写的。它们都是可靠的选择,无论你选择哪一个,你都不会出错。我相信Crunch也有类似的故事,但Scoobi正在实际项目中使用,并且正在不断开发中。我们在修复bug和实现特性方面非常活跃

    不管怎么说,他们都是伟大的项目,背后有伟大的人,而且都是在几天之内发布的。它们提供了相同的抽象(使用类似的api),因此在两者之间切换一点也不成问题。我的建议是尝试一下,看看什么对你有用。两个项目中都没有锁定,因此不需要提交:)


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

    我自己是一个超级粉丝,我在制作中使用过它。我喜欢它允许您以非常惯用的Scala方式编写类型安全的Hadoop程序。如果这不一定是你的事情,而且你喜欢级联模型,但是被你必须编写的大量样板代码吓跑了,Twitter最近在级联之上开放了自己的Scala抽象层,名为滚烫

    • 公告:
    • GitHub:

    我想这是一个品味的问题,因为在功能方面,大多数框架彼此非常接近。

    滚烫还具有在其上构建的重要开源项目的优势,如Matrix API和Algebird

    以下是一些例子:

    Cascalog在烫伤发生前大约两年发布,可以说它具有更先进的功能来构建健壮的工作流: