【问题标题】:Warnings trying to read Spark 1.6.X Parquet into Spark 2.X尝试将 Spark 1.6.X Parquet 读入 Spark 2.X 的警告
【发布时间】:2017-09-06 04:40:24
【问题描述】:

当尝试将 spark 1.6.X parquet 文件加载到 spark 2.X 中时,我看到许多 WARN 级别语句。

  16/08/11 12:18:51 WARN CorruptStatistics: Ignoring statistics because created_by could not be parsed (see PARQUET-251): parquet-mr version 1.6.0
  org.apache.parquet.VersionParser$VersionParseException: Could not parse created_by: parquet-mr version 1.6.0 using format: (.+) version ((.*) )?\(build ?(.*)\)
    at org.apache.parquet.VersionParser.parse(VersionParser.java:112)
    at org.apache.parquet.CorruptStatistics.shouldIgnoreStatistics(CorruptStatistics.java:60)
    at org.apache.parquet.format.converter.ParquetMetadataConverter.fromParquetStatistics(ParquetMetadataConverter.java:263)
    at org.apache.parquet.format.converter.ParquetMetadataConverter.fromParquetMetadata(ParquetMetadataConverter.java:567)
    at org.apache.parquet.format.converter.ParquetMetadataConverter.readParquetMetadata(ParquetMetadataConverter.java:544)
    at org.apache.parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:431)
    at org.apache.parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:386)
    at org.apache.spark.sql.execution.datasources.parquet.SpecificParquetRecordReaderBase.initialize(SpecificParquetRecordReaderBase.java:107)
    at org.apache.spark.sql.execution.datasources.parquet.VectorizedParquetRecordReader.initialize(VectorizedParquetRecordReader.java:109)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$$anonfun$buildReader$1.apply(ParquetFileFormat.scala:369)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$$anonfun$buildReader$1.apply(ParquetFileFormat.scala:343)
    at [rest of stacktrace omitted]

我正在运行 2.1.0 版本,并且有大量此类警告。有没有办法——除了将日志级别更改为 ERROR——来抑制这些?

这些似乎是修复的结果 - 但警告可能尚未删除。以下是该 JIRA 的一些详细信息:

https://issues.apache.org/jira/browse/SPARK-17993

我已经从 PR 构建了代码,它确实成功读取了 数据。我试过做 df.count() ,现在我蜂拥而至 像这样的警告(他们只是不断地被打印出来 终端):

将日志记录级别设置为ERROR 是最后的方法:它正在吞噬我们依赖于标准监控的消息。有没有人找到解决方法?

【问题讨论】:

    标签: apache-spark parquet


    【解决方案1】:

    暂时 - 即直到/除非这个火花/镶木地板错误得到修复 - 我将在 log4j.properties 中添加以下内容:

    log4j.logger.org.apache.parquet=ERROR   
    

    地点是:

    • 针对外部 spark 服务器运行时:$SPARK_HOME/conf/log4j.properties

    • Intellij(或其他IDE)中本地运行时:src/main/resources/log4j.properties

    【讨论】:

    • 您能否提供更多关于您将在何处更新以下行的详细信息? log4j.logger.org.apache.parquet=错误,即在 Hive log4j.properties 中?
    • @Jay。抱歉,直到现在我才注意到您的评论。更新了我对该信息的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2016-12-24
    • 1970-01-01
    • 2019-07-09
    相关资源
    最近更新 更多