2016-11-25 3 views
1

системы производства: HDP-2.5.0.0 с использованием Ambari 2.4.0.1Может Затмение/IntelliJ Idea можно использовать для выполнения кода на кластере

требования, поступающие в изобилии в течение выполнения диапазона кода (Java MR и т.д., Scala , Spark, R) поверх HDP, но с настольной системы Windows IDE.

Для искры и R у нас есть установка R-Studio.

Проблема заключается в Java, Scala и т. Д. Кроме того, люди используют ряд IDE от Eclipse до IntelliJ Idea.

Я знаю, что плагин Eclipse Hadoop НЕ активно поддерживается, а также имеет множество ошибок при работе с последними версиями Hadoop, IntelliJ Idea. Я не мог найти надежных материалов с официального сайта.

Я считаю, что API-интерфейс клиента Hive и HBase - надежный способ подключения от Eclipse и т. Д., Но я скептически отношусь к выполнению MR или другого пользовательского кода Java/Scala.

Я упомянул несколько потоков, таких как this и this, однако у меня все еще есть вопрос, что любая IDE, например Eclipse/Intellij Idea, имеет официальную поддержку Hadoop? Даже Spring Data for Hadoop, похоже, потерял сцепление, он так или иначе не работал должным образом 2 года назад;)

В качестве реалистичной альтернативы, какой инструмент/плагин/библиотека следует использовать для тестирования MR и другого кода Java/Scala, локально ", т.е. на настольной машине, используя автономную версию кластера?

Примечание: Я не хочу работать против/в песочнице, о ее подключении к продукту. кластер напрямую.

ответ

0

Я не думаю, что существует генетическое решение, которое будет работать для всех служб Hadoop одинаково. Каждое решение имеет свои собственные сценарии разработки, тестирования и развертывания, поскольку они представляют собой разные автономные продукты. Для случая MR вы можете использовать MRUnit, чтобы имитировать вашу работу локально с IDE. Другим вариантом является LocalJobRunner. Они оба позволяют вам проверить свою логику MR непосредственно из IDE. Для Storm вы можете использовать backtype.storm.Testing библиотека для симуляции рабочего процесса топологии. Но все они используются из IDE без прямой кластерной связи, например, в случае интеграции Spark и RStudio.

Что касается рекомендации MR, то ваша работа должна в идеале пройти следующий жизненный цикл: записывая задание и тестируя его локально, используя MRUnit, тогда вы должны запустить его в каком-то кластере разработки с некоторыми тестовыми данными (см. MiniCluster в качестве опции) и затем запускается в реальном кластере с помощью некоторых пользовательских счетчиков, которые помогут вам найти ваши искаженные данные и правильно выполнить задание.