Amazon EMR上Hive MapReduce中填充日志的拼花警告

Amazon EMR上Hive MapReduce中填充日志的拼花警告,hive,yarn,emr,parquet,tez,Hive,Yarn,Emr,Parquet,Tez,我在一张桌子上运行一个定制的UDAF,它在Tez的Hive上作为拼花地板存储。我们的蜂巢工作是在纱线上运行的,所有这些都是在Amazon EMR中设置的。但是,由于我们使用旧版本的拼花地板(1.5)生成了拼花地板数据,因此我收到了一条警告,该警告正在填充纱线日志,并导致磁盘在作业完成之前耗尽空间。这是警告: PM警告:org.apache.parquet.CorruptStatistics:忽略 统计数字 因为无法解析创建者(参见PARQUET-251):PARQUET mr版本 它还打印堆栈轨

我在一张桌子上运行一个定制的UDAF,它在Tez的Hive上作为拼花地板存储。我们的蜂巢工作是在纱线上运行的,所有这些都是在Amazon EMR中设置的。但是,由于我们使用旧版本的拼花地板(1.5)生成了拼花地板数据,因此我收到了一条警告,该警告正在填充纱线日志,并导致磁盘在作业完成之前耗尽空间。

这是警告:

PM警告:org.apache.parquet.CorruptStatistics:忽略 统计数字 因为无法解析创建者(参见PARQUET-251):PARQUET mr版本

它还打印堆栈轨迹。我一直试图使警告日志保持沉默,但没有任何效果。我已经设法关闭了几乎所有类型的日志,除了这个警告。我尝试过使用AWS配置修改几乎每个Log4j设置文件,如所述

到目前为止我已经尝试过的事情:

  • 我在tez-site.xml中设置了以下设置(以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"
    
  • 我在mapred-site.xml上有以下设置。这些设置有效地关闭了“我的纱线日志”中发生的所有日志记录,但有问题的警告除外

      "mapreduce.map.log.level": "OFF",
      "mapreduce.reduce.log.level": "OFF",
      "yarn.app.mapreduce.am.log.level": "OFF"
    
  • 我在几乎每一个其他log4j.properties文件中都有这些设置

      "log4j.logger.org.apache.parquet.CorruptStatistics": "OFF",
      "log4j.logger.org.apache.parquet": "OFF",
      "log4j.rootLogger": "OFF, console"
    

  • 老实说,在这一点上,我只是想找到一些方法关闭日志,让工作以某种方式运行。我读到过类似的问题,比如他们通过更改log4j设置来解决的问题,但这是针对Spark的,它在Hive/Tez和Amazon上似乎不起作用。感谢您的帮助

    好的,最后我修改了EMR中每个数据节点和主节点的java logging.properties文件,解决了这个问题。在我的例子中,文件位于/etc/alternations/jre/lib/logging.properties

    我向引导操作文件添加了一个shell命令,以自动将以下两行添加到属性文件的末尾:

    org.apache.parquet.level=严重

    org.apache.parquet.CorruptStatistics.level=严重


    只是想更新一下,以防其他人遇到同样的问题,因为Amazon确实没有正确设置,并且需要大量的尝试和错误。

    好的,所以我最终通过修改EMR中每个数据节点和主节点的java logging.properties文件来解决这个问题。在我的例子中,文件位于/etc/alternations/jre/lib/logging.properties

    我向引导操作文件添加了一个shell命令,以自动将以下两行添加到属性文件的末尾:

    org.apache.parquet.level=严重

    org.apache.parquet.CorruptStatistics.level=严重

    只是想更新一下,以防其他人遇到同样的问题,因为这不是亚马逊真正正确设置的,需要大量的尝试和错误