Вопрос по hadoop, apache-pig, hdfs – Отладка в PIG UDF

7

Я новичок в Hadoop / PIG. У меня есть основной вопрос.

Есть ли у нас возможность ведения лесозаготовок в PIG UDF? Я написал UDF, который мне нужно проверить Мне нужно войти в определенные заявления, чтобы проверить поток. Есть ли возможность ведения журнала? Если да, где присутствуют поросята?

Ваш Ответ

2   ответа
6

EvalFunc, вы можете использовать Logger, возвращенный изEvalFunc.getLogger(), Вывод журнала должен быть виден в связанной задаче Map / Reduce, которую выполняет pig (если задание выполняется более чем за один этап, вам придется выбирать их, чтобы найти связанные записи журнала).

Я не знаю наверняка, но вы можете попробовать PigLogger - он может отправить вещи обратно клиенту.
Таким образом, журналы попадут в файл журнала Map Reduce Task? Могу ли я специально сделать свои записи журнала в отдельный файл? Uno
Да, они будут. Вы можете, но тогда вам нужно перейти к каждому трекеру задач, чтобы просмотреть / собрать их. Я думаю, вы могли бы попытаться настроить удаленный регистратор (например, вход в БД).
Прошу прощения за такой наивный вопрос. Но я использовал его следующим образом: PigLogger pigLogger = this.getPigLogger (); pigLogger.warn (объект, String, перечисление); Я что-то здесь упускаю? Или это для EvalFunc Logger. Я не вижу ничего, кроме предупреждения. У нас нет отладки, информации, ошибки? Uno
Я пытался использовать this.getLogger.info (String); Должно ли это появиться в журнале задачника? Я не вижу журналов для этого. Uno
2

это очевидно, но я советую отладить вашу UDF в локальном режиме перед развертыванием в кластере / псевдокластере. Таким образом, вы можете отладить его прямо в вашей IDE (затмение в моем случае), что проще, чем отладка журналов.

Есть ли сайт или какие-то шаги, которые я могу выполнить, чтобы начать работу в Eclipse? Я имею в виду свинью в затмении. Uno
Не знаю о сайте с шагами, но все достаточно просто: поместите зависимости hadoop-core и pig в ваш maven pom, а затем работайте сorg.apache.pig.PigServer, пытатьсяpigServer.registerScript(resource.getInputStream(), pigScriptParams, null); а потомPigStats stats = pigServer.store("final_output", pigScriptParams.get("output_folder"), pigStoreFunc).getStatistics();

Похожие вопросы