Какая библиотека является самой зрелой для построения конвейера аналитики данных в Java/Scala для Hadoop?

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

  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 ответа

Решение

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам