Tryb wsadowy świń: jak ustawić poziom rejestrowania, aby ukryć komunikaty dziennika INFO?

Korzystanie z ApacheWersja świni 0.10.1.21 (ponownie wyeksportowany). Kiedy wykonuję skrypt świni, istnieje wiele linii logowania INFO, które wyglądają tak:

2013-05-18 14:30:12,810 [Thread-28] INFO  org.apache.hadoop.mapred.Task - Task 'attempt_local_0005_r_000000_0' done.
2013-05-18 14:30:18,064 [main] WARN  org.apache.pig.tools.pigstats.PigStatsUtil - Failed to get RunningJob for job job_local_0005
2013-05-18 14:30:18,094 [Thread-31] WARN  org.apache.hadoop.mapred.JobClient - No job jar file set.  User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
2013-05-18 14:30:18,114 [Thread-31] INFO  org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths to process : 1
2013-05-18 14:30:18,254 [Thread-32] INFO  org.apache.hadoop.mapred.Task -  Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@3fcb2dd1
2013-05-18 14:30:18,265 [Thread-32] INFO  org.apache.hadoop.mapred.MapTask - io.sort.mb = 10

Czy w skrypcie świni znajduje się polecenie SET lub flaga wiersza polecenia, aby umożliwić poziom rejestrowania? Zasadniczo chciałbym ukryć komunikaty INFO [Thread-xx]. Pokazuje tylko OSTRZEŻENIE i BŁĄD. Próbowałem flagi debugowania wiersza poleceń. Niestety, komunikaty INFO nadal się wyświetlają:

pig -x local -d WARN MyScript.pig

Mam nadzieję, że istnieje rozwiązanie. Z góry dziękuję za wszelką pomoc.

ROZWIĄZANY: OdpowiedźLoran Bendig, ustaw log4j.properties. Podsumowano tutaj dla wygody

Krok 1: skopiuj plik konfiguracyjny log4j do folderu, w którym znajdują się moje skrypty świni.

cp /etc/pig/conf.dist/log4j.properties log4j_WARN

Krok 2: Edytuj plik log4j_WARN i upewnij się, że te dwie linie są obecne

log4j.logger.org.apache.pig=WARN, A
log4j.logger.org.apache.hadoop = WARN, A

Krok 3: Uruchom skrypt świni i poinstruuj go, aby używał niestandardowego log4j

pig -x local -4 log4j_WARN MyScript.pig

questionAnswers(3)

yourAnswerToTheQuestion