Чтение заданий Hadoop с локального компьютера или запись в большой двоичный объект

У меня проблема с запуском задания mapreduce. Проблема, я думаю, в конфигурации.

Моя работа имеет два параметра: каталог Вход и выход. Проблема в том, что у Job есть внутренний код для подготовки данных, если быть точным: Репозитории оформления заказа формируют github в расположение Вход, указанное в качестве параметра, а затем сохраняет вывод в каталоге выход. Поэтому, когда я запускаю свое задание локально, hadoop jar myjar.jar input output, задание проверяет исходные файлы в каталог Вход и также читает форму там.

Но это не тот случай, когда дело доходит до запуска в HDInsight. Я загрузил через scp файл jar и запустил его с помощью yarn jar hadoop-1.0-SNAPSHOT.jar input output. Как и предполагалось, задание читало из хранилища больших двоичных объектов, а не из местоположения jar, но внутренний код записывал в локальную файловую систему, поэтому моя работа не видела входных файлов.

Я вижу здесь два варианта. Во-первых, предпочтительный вариант - настроить hadoop для чтения из локальной файловой системы, чтобы задание могло видеть файлы с извлечением. Второй - как-то проверить исходный код из github в каталог blob Вход. Я попытался выполнить передачу задания как каталог Вход и wsab (wasb: //[email protected]/SomeDirectory/ASubDirectory/) uri, но это тоже не сработало.

Я использую jgit для проверки исходных файлов:

File destination = new File(inputDir + "/" + project); Git.cloneRepository().setURI(uri).setDirectory(destination).call();

Спасибо за помощь.

<property> <name> fs.defaultFS </name> <value> wasb: //[email protected] </value> <final> true </final> </property>

Tomasz Giełbutowicz 14.06.2018 12:00

Я играю с конфигурацией и не уверен, собираюсь ли я изменить fs.default на файл:/// вместо wasb, если он будет работать на всех моих узлах кластера или только в локальном режиме?

Tomasz Giełbutowicz 14.06.2018 12:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
59
0

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