【发布时间】:2013-05-13 17:25:23
【问题描述】:
使用 Apache Pig 版本 0.10.1.21(重新导出)。当我执行一个猪脚本时,有很多 INFO 日志记录行看起来像这样:
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
pig 脚本中是否有 SET 命令或命令行标志来允许日志级别?基本上我想隐藏 [Thread-xx] INFO 消息。只显示警告和错误。我已经尝试过命令行调试标志。不幸的是,INFO 消息仍然显示:
pig -x local -d WARN MyScript.pig
希望有解决办法。提前感谢您的帮助。
已解决:回答by Loran Bendig, set the log4j.properties。为方便起见,这里总结一下
Step1:将log4j配置文件复制到我的猪脚本所在的文件夹中。
cp /etc/pig/conf.dist/log4j.properties log4j_WARN
Step2:编辑 log4j_WARN 文件并确保这两行存在
log4j.logger.org.apache.pig=WARN, A
log4j.logger.org.apache.hadoop = WARN, A
Step3:运行 pig 脚本并指示它使用自定义 log4j
pig -x local -4 log4j_WARN MyScript.pig
【问题讨论】:
-
这似乎是一个重复的问题:stackoverflow.com/a/16414020
-
@LorandBendig 同意,一个有更好的答案(由你),但这个有一个更好的标题,更容易被人们找到。
-
设置 -4 log4j_WARN 选项时,您需要将完整路径传递给 log4j 文件,否则找不到它
标签: apache-pig