用java/scala为hadoop构建数据分析管道最成熟的库是什么?

gywdnpxw  于 2021-06-04  发布在  Flume
关注(0)|答案(3)|浏览(371)

我最近发现了许多选择,而且对它们的成熟度和稳定性的比较很感兴趣。
嘎吱-https://github.com/cloudera/crunch
蜷缩-https://github.com/cloudera/crunch/tree/master/scrunch
层叠-http://www.cascading.org/
烫伤https://github.com/twitter/scalding
flumejava公司
史酷比-https://github.com/nicta/scoobi/

2sbarzqh

2sbarzqh1#

因为我是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),所以在两者之间切换不会有任何问题。我的建议是两个都试一下,看看什么对你有用。两个项目中都没有锁定,因此不需要提交:)
如果您对任何一个项目有任何反馈,请务必提供:)

a64a0gku

a64a0gku2#

烫伤还具有构建在其上的重要开源项目的优势,如matrix api和algebird。
以下是一些示例:http://sujitpal.blogspot.com/2012/08/scalding-for-impatient.html
cascalog是在烫伤前两年发布的,可以说它有更先进的功能来构建健壮的工作流:https://github.com/nathanmarz/cascalog/wiki

hc2pp10m

hc2pp10m3#

我自己也是一个大的史酷比迷,我在制作中也用过。我喜欢它允许您以非常惯用的scala方式编写类型安全的hadoop程序。如果这不一定是你的事情,你喜欢级联模型,但被你必须编写的大量样板代码吓跑了,twitter最近已经在称为烫伤的级联之上开放了自己的scala抽象层。
公告:https://dev.twitter.com/blog/scalding
github:https://github.com/twitter/scalding
我想这完全是一个品味的问题,因为特性方面的大多数框架彼此非常接近。

相关问题