Как мне подавить раздувание бесполезной информации при использовании команды DUMP при использовании grunt через 'pig -x local'?

Я работаю с PigLatin, используя grunt, и каждый раз, когда я «сбрасываю» материал, моя консоль забивается бла-бла-бла-неинформацией, есть ли способ подавить все это?

grunt> A = LOAD 'testingData' USING PigStorage(':'); dump A; 

2013-05-06 19:42:04,146 [main] INFO org.apache.pig.tools.pigstats.ScriptState — функции Pig, используемые в скрипте: UNKNOWN
2013-05-06 19:42:04,147 [main] INFO
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler — Порог объединения файлов: 100 оптимистично? false ...
...
--- еще около 50 строк бесполезного контекста, затирающего мусор здесь... until --- ...
...< br> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher — Успех!

теперь я ищу 4 строки информации:

(daemon,*,1,1,System Services,/var/root,/usr/bin/false)
(uucp,*,,,/var/spool/uucp,/usr/sbin/uucico)
(taskgated,*,13,13,Task Gate Daemon,/var/empty,/usr/bin/false)
(networkd,*,24,24,Network Services,/var/empty,/usr/bin/false)
(installassistant,*,25,25,/usr/bin/false)
grunt>

---> очевидно, что если это ошибка, много полезной информации, но не тогда, когда это в основном работает отлично.


person Matt S.    schedule 07.05.2013    source источник
comment
Я пробовал вышеизложенное, это не работает... Однако эта ссылка работает to-hide-info-log-messages" title="Пакетный режим свиньи, как установить уровень ведения журнала, чтобы скрыть сообщения информационного журнала"> stackoverflow.com/questions/16627748/   -  person Shiwangi    schedule 19.11.2014


Ответы (4)


Вам нужно установить свойства log4j. Например:

$PIG_HOME/conf/pig.properties :
enable:
# log4jconf=./conf/log4j.properties

rename: log4j.properties.template -> log4j.properties

log4j.properties :
set info to error:
log4j.logger.org.apache.pig=info, A

Вы также можете установить уровень ведения журнала, связанный с Hadoop:

log4j.logger.org.apache.hadoop = error, A
person Lorand Bendig    schedule 07.05.2013
comment
Кажется, в Pig 0.12.0 есть ошибка, которая приводит к сбою . - person Jonny5; 10.04.2014
comment
@ Xaero182 Я думаю, что 0.12.0 использует logback вместо log4j. Попробуйте добавить этот JAVA OPT: -Dlogback.configurationFile=/path/to/your/logback.xml файл. - person Tony; 21.04.2014

Самый простой способ сделать это — перенаправить стандартную ошибку, как показано ниже.

Но при этом будут подавлены все errors.

pig -x local 2> /dev/null

Также выяснилось, что если вы удалите или переименуете свой каталог установки hadoop, чтобы сделать его в основном недоступным для свиньи, все эти сообщения INFO исчезнут.
Изменение уровней ведения журнала в hadoop не помогло, просто чтобы вы знали.

person rajam81    schedule 08.01.2015
comment
Это, честно говоря, единственный, который прямо отвечает на вопрос и предлагает простое решение. Создание и редактирование файла log4j.properties меня не очень устраивает. - person WattsInABox; 31.03.2017
comment
Это лучший способ для меня - person Jia Ruipeng; 03.03.2018

Когда вы запускаете свинью, передайте ей файл log4j.properties с pig -4 <filename>.

В моем случае в каталоге conf был файл log4j.properties, и установка уровня регистратора с именем org.apache.pig на ERROR достаточна, чтобы регистратор был менее подробным.

log4j.logger.org.apache.pig=ERROR, A
person Frederic    schedule 07.05.2013

у свиньи есть уровень журнала отладки, который нужно установить в файле pig.properties,

# Logging level. debug=OFF|ERROR|WARN|INFO|DEBUG (default: INFO)
#
# debug=INFO

Причина, по которой на консоли появляются большие журналы, например. изменить на ОШИБКА

person Bhalchandra Madhekar    schedule 08.06.2015
comment
Нужно ли нам перезапускать Unix после этого изменения? это не работает для меня. Я обновил его, но он не работает. - person thewhitetulip; 18.08.2017