Какая библиотека является самой зрелой для построения конвейера аналитики данных в Java / Scala для Hadoop? - PullRequest
18 голосов
/ 24 февраля 2012

В последнее время я нашел много вариантов, и они интересны в сравнении главным образом зрелостью и стабильностью.

  1. Хруст - https://github.com/cloudera/crunch
  2. Scrunch - https://github.com/cloudera/crunch/tree/master/scrunch
  3. Каскадирование - http://www.cascading.org/
  4. Обжига https://github.com/twitter/scalding
  5. FlumeJava
  6. Скуби - https://github.com/NICTA/scoobi/

Ответы [ 3 ]

14 голосов
/ 24 февраля 2012

Поскольку я являюсь разработчиком Scoobi, не ожидайте непредвзятого ответа.

Прежде всего, FlumeJava - это внутренний проект Google, который предоставляет (удивительно продуктивную) абстракцию поверх MapReduce (не hadoop)хоть).Они выпустили статью об этом, на которой основаны такие проекты, как Scoobi и Crunch.

Если ваш единственный критерий - зрелость - я думаю, Каскадинг - ваша лучшая ставка.

Однако,если вы ищете (imho улучшенную) абстракцию в стиле FlumeJava, вам нужно выбрать между (S) хрустом и Scoobi.

Самая большая разница, как это ни поверхностно, заключается в том, что хруст написан наJava, с привязками Scala (Scrunch).А Scoobi написан на Scala с привязками Java (scoobij).Они оба действительно солидный выбор, и вы не ошибетесь, какой бы вы ни выбрали.Я уверен, что с Crunch такая же история, но Scoobi используется в реальных проектах и ​​находится в постоянном развитии.Мы довольно активно работаем над исправлением ошибок и реализацией функций.

В любом случае, они оба великолепные проекты, за которыми стоят замечательные люди, и оба были выпущены в течение нескольких дней.Они обеспечивают одну и ту же абстракцию (с похожим api), поэтому переключение между ними не будет проблемой ни в малейшей степени.Я рекомендую дать им обоим попробовать и посмотреть, что работает для вас.Ни в одном из проектов нет блокировки, поэтому вам не нужно совершать коммиты:)

И если у вас есть какие-либо отзывы по любому из проектов, обязательно предоставьте их:)

5 голосов
/ 24 февраля 2012

Я большой поклонник Скуби , и я использовал его в производстве.Мне нравится, как он позволяет вам писать безопасные для типов программы Hadoop очень идиоматическим способом на языке Scala.Если это не обязательно ваша вещь, и вам нравится модель Cascading , но вы напуганы огромным количеством шаблонного кода, который вам придется написать, Twitter недавно открыл свой собственный слой абстракции Scala поверх Каскадный называется Обжигающий .

Я полагаю, что на данный момент это дело вкуса, так как большинство фреймворков очень близко друг к другу.

2 голосов
/ 03 января 2013

Scalding также имеет преимущество значительных проектов с открытым исходным кодом, таких как Matrix API и Algebird.

Вот несколько примеров: http://sujitpal.blogspot.com/2012/08/scalding-for-impatient.html

Cascalog был выпущен почти два года назаддо Scalding, и, возможно, имеет более продвинутые функции для создания надежных рабочих процессов: https://github.com/nathanmarz/cascalog/wiki

...