Apache pig Pig批处理模式:如何设置日志级别以隐藏信息日志消息?

Apache pig Pig批处理模式:如何设置日志级别以隐藏信息日志消息?,apache-pig,Apache Pig,使用ApachePig版本0.10.1.21(rexported)。当我执行一个pig脚本时,有很多信息记录行,如下所示: 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.PigS

使用ApachePig版本0.10.1.21(rexported)。当我执行一个pig脚本时,有很多信息记录行,如下所示:

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]信息消息。只显示警告和错误。我尝试了命令行调试标志。不幸的是,信息消息仍然显示:

pig -x local -d WARN MyScript.pig
希望有解决办法。提前感谢您的帮助

已解决:回答。为了方便起见,这里进行了总结

步骤1:将log4j配置文件复制到my pig脚本所在的文件夹中

cp /etc/pig/conf.dist/log4j.properties log4j_WARN
步骤2:编辑log4j_警告文件并确保这两行存在

log4j.logger.org.apache.pig=WARN, A
log4j.logger.org.apache.hadoop = WARN, A
步骤3:运行pig脚本并指示它使用定制的log4j

pig -x local -4 log4j_WARN MyScript.pig

您可以覆盖默认日志配置(包括信息消息),如下所示:

pig -4 log4j.properties MyScript.pig

您还需要设置rootLogger:

log4j.rootLogger=ERROR, A
log4j.logger.org.apache.pig=ERROR, A
log4j.logger.org.apache.hadoop = ERROR, A

另一个设置也可以如下所示:

pig -4 log4j.properties MyScript.pig
创建一个名为nolog.conf的文件,包含以下内容

log4j.rootLogger=fatal
然后按如下方式运行清管器

pig -x local -4 nolog.conf

这似乎是一个重复的问题:@LorandBendig同意,其中一个有一个更好的答案(由您提供),但这一个有一个更好的标题,人们将更容易找到。设置-4 log4j_警告选项时可能重复您需要将完整路径传递到log4j文件,否则它不会发现它不起作用。我将原始log4j.properties复制到与pig脚本相同的文件夹中。然后通过pig-x local-4 myLog4J Myscript.pig执行脚本。有相同数量的信息行。日志行中仅删除了[Thread XX]。无论log4j.logger.org.apache.pig=WARN,还是log4j.logger.org.apache.pig=ERROR,都会发生这种情况,A@LorandBendig的回答更简洁一点——你需要做更多的配置才能让它工作——看看上面的链接。我确实读过罗兰的帖子,但没有注意到语法上的相似之处(.hadoop vs.pig)。实际上,必须添加行“log4j.logger.org.apache.hadoop=error,A”。为了清楚起见,我将编辑原始帖子以包含答案。谢谢。
,A
有什么作用?