Разработка под Hadoop. Как у вас устроена среда и процесс?

Кто разрабатывает под Hadoop, хотелось бы пообщаться на тему того, как у вас (у/на)строена среда разработки и как организован процесс.

Девелоперская машина — Linux only или под Windows люди работают тоже? Если под Windows, то по-любому с Cygwin?

Какие-нибудь плагины для IDE для разработки под Hadoop используете или смысла нет?
Тестируете программы на sample data sets обычно локально, в облаке, на кластере, — где?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Apache Storm для простых случаев гораздо лучше. Да и вообще, работает в real-time, легче в изучении и конифгурировании, деплойменте.

У шторма есть куча более понятных и няшных альтернатив: samza, real-time spark, в конце концов riemann, хотя он больше про мониторинг (может терять сообщения)

Только Storm в отличии от Spark может еще и с реляционками работать, что немаловажно.

В Спарке вполне есть РДДшки для ждбц. Я их не юзал, но подозреваю, что вполне норм.

Народ, а есть какое-то киевсткое Java-Hadoop комьюнити? :)

киевст Senior Java developer киевст киевст.... :(

спасибо за ответ

Может и не совсем по теме, но семпловые виртуалки от Croudera и/или HortonWorks очень помогают сделать первые шаги, да и для тестирования вполне годны

То есть собственные jar’ы (а также скрипты для streaming’а) туда можно как-то засовывать и там запускать?

На попередній роботі працював з Hadoop. Мали кілька кластерів з ~100-150 машинами в кластері.
Вся розробка відбувається на Linux-машинах. Hadoop плагіни для IDE не використовували і в принципі не пробували, тому не можу нічого корисного тут сказати.
Напряму Hadoop API не використовували, мали обгортку-фреймворк і виділену команду, яка цей фреймворк розробляла, хоча під час налагоджування програм багато довелося і з Hadoop’ом попрацювати напряму. Сам фреймворк був досить низькорівневий, тобто він транслював MapReduce в MapReduce, а не якусь іншу модель обчислень (як, наприклад, Spark) в MapReduce.
Тестування. Ми мали 3 типи кластерів: production, testing, experimental. Production — для основного пайплайну, він був майже постійно завантажений 24×7. Testing — інтеграційне тестування, в ньому було досить мало машин і він часто простоював. Experimental — для експериментів (в нас було багато машинного навчання), був завантажений в основному в робочий час, хоча часто хтось і на ніч / вихідні лишав експерименти.
Крім того для автоматизованих малих/середніх тестів мали можливість запускати програми локально з файловою системою в пам’яті. Більшість автоматичних тестів використовували локальний режим Hadoop, але майже завжди коли вносили зміни ми хоча б раз перед комітом вручну запускали програму на experimental кластері.
На поточній роботі далі активно працюю з MapReduce, але тут використовується свій велосипед замість Hadoop, тому цей досвід буде нерелевантний.

Можливо взагалі вести розробку в середовищі під Windows? Написання коду та компіляцію робити — напевно так. А запуск задач Hadoop в локальному режимі — це взагалі можливо робити під Windows або тільки під Linux?

Взагалі я ніколи не цікавився цим питанням (Hadoop під Windows), тому сильно допомогти тут не зможу.
Наскільки я пам’ятаю, версії, що ми використовували (0.2*) наврядчи би запустилися під Windows без додаткового ПЗ типу Cygwin, бо всередині використовувалися Linux-команди. Але тут стверджують, що починаючи від версії 2.2 Hadoop можна і на Windows запустити без додаткового ПЗ: wiki.apache.org/...adoop2OnWindows.

Spark вместо хадупа. Подробностей не знаю, ибо отношения к этому, пока, не имею.

Почитал про Spark. spark.apache.org
Гм. Hadoop что, реально устарел? О_О
Хотелось бы услышать комментарии от людей в теме.

Насколько я понял, Spark рассчитан на то, что операции проводятся в оперативной памяти без обращения к диску. За счёт этого всё работает намного быстрее.
Если я не ошибаюсь. Не имел пока дело со Spark.

Там у них на заглавной странице написано что и в случае с диском они обещают десятикратный прирост производительности.

Я лиш просмотрел в рамках ознакомления вот этот видос: planetcassandra.org/...-and-cassandra
И разница в количестве кода для написания мап редьюс для хадупа и спарка — впечетляет.

разница в количестве кода для написания мап редьюс для хадупа и спарка

Потому что Java и Scala?
Scala обычно намного компактнее, чем Java.

Если юзать какой нибудь scalding, под хадуп все тоже клево пишется

Hadoop это много разных продуктов — HDFS, MapReduce.. и т.д. Spark это замена MapReduce, но он может использовать и чаще всего использует HDFS. Так что это не «вместо» это «вместе»

Підписатись на коментарі