我在一张桌子上运行一个自定义的UDAF,它作为拼花地板存储在Tez的Hive上。我们的蜂箱工作是在纱线上运行的,所有这些都是在亚马逊电子病历中设置的。然而,由于我们的拼花数据是用旧版本的拼花(1.5)生成的,我收到了一个警告,它正在填充纱线日志,并导致磁盘在作业完成之前用完空间。
这是警告:
统计数字
它还打印堆栈轨迹。我一直试图使警告日志保持沉默,但没有任何效果。除了这个警告,我几乎关闭了所有类型的日志。我尝试过使用AWS配置修改几乎每个Log4j设置文件,如前所述
here
.
到目前为止,我已经尝试过的事情:
-
(以JSON格式编写,因为这是AWS配置所需的)在实际实例中,它当然是以正确的XML格式编写的。
"tez.am.log.level": "OFF",
"tez.task.log.level": "OFF",
"tez.am.launch.cluster-default.cmd-opts": "-Dhadoop.metrics.log.level=OFF -Dtez.root.logger=OFF,CLA",
"tez.task-specific.log.level": "OFF;org.apache.parquet=OFF"
-
我有以下设置
。这些设置有效地关闭了我的纱线日志中发生的所有日志记录,但有问题的警告除外。
"mapreduce.map.log.level": "OFF",
"mapreduce.reduce.log.level": "OFF",
"yarn.app.mapreduce.am.log.level": "OFF"
-
log4j.属性
"log4j.logger.org.apache.parquet.CorruptStatistics": "OFF",
"log4j.logger.org.apache.parquet": "OFF",
"log4j.rootLogger": "OFF, console"
老实说,在这一点上,我只是想找到一些方法,关闭日志,让工作以某种方式运行。我读到过类似的问题,比如
link
他们通过更改log4j设置来修复它,但这是为了Spark,它似乎在Hive/Tez和Amazon上不起作用。感谢您的帮助。