Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 如何在Spark中抑制拼花地板日志消息?_Logging_Apache Spark_Parquet - Fatal编程技术网

Logging 如何在Spark中抑制拼花地板日志消息?

Logging 如何在Spark中抑制拼花地板日志消息?,logging,apache-spark,parquet,Logging,Apache Spark,Parquet,如何阻止此类消息出现在我的spark shell控制台上 5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: at row 0. reading next block 5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: RecordReader initialized will read a total of

如何阻止此类消息出现在我的spark shell控制台上

5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: at row 0. reading next block
5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: RecordReader initialized will read a total of 89213 records.
5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: block read in memory in 2 ms. row count = 120141
5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: at row 0. reading next block
5 May, 2015 5:14:30 PM INFO: parquet.hadoop.InternalParquetRecordReader: block read in memory in 2 ms. row count = 89213
5 May, 2015 5:14:30 PM WARNING: parquet.hadoop.ParquetRecordReader: Can not initialize counter due to context is not a instance of TaskInputOutp
[Stage 12:=================================================>    (184 + 4) / 200]

谢谢

要关闭除错误以外的所有消息,您应该编辑conf/log4j.properties文件,更改以下行:

log4j.rootCategory=INFO, console
进入


希望能有帮助

我认为这是倒退的——他们正在对拼花地板集成进行一些大的合并/更改…

不是解决方案,但如果您建立自己的spark,则此文件: 具有最多代的日志消息,您现在可以对其进行注释。

的解决方案似乎有效:

通过创建包含以下内容的属性文件,可以禁用聊天输出:

然后在应用程序启动时将文件的路径传递给Spark 提交。假设文件位于/tmp/parquet.logging.properties中 (当然,这需要在所有工作节点上都可用):


学分转到。

这将适用于Spark 2.0。编辑文件spark/log4j.properties并添加:

log4j.logger.org.apache.spark.sql.execution.datasources.parquet=ERROR
log4j.logger.org.apache.spark.sql.execution.datasources.FileScanRDD=ERROR
log4j.logger.org.apache.hadoop.io.compress.CodecPool=ERROR

FileScanRDD和CodecPool的行也将有助于处理一些非常详细的日志。

我知道这个问题是由Spark提出的,但我最近在CDH 5.x中将Parquet与Hive一起使用时遇到了这个问题,并找到了解决办法。详情如下:

我对JIRA的评论内容如下:

这也是CDH中分发的拼花地板版本中的一个问题 5.x。在这种情况下,我使用的是
parquet-1.5.0-cdh5.8.4
(此处提供的来源:)

然而,我已经找到了通过提交mapreduce作业的解决方案 蜂箱我相信这也可以用于Spark

  • 将以下属性添加到作业的配置中(在我的例子中,自从将它们添加到之后,我将它们添加到了
    hive site.xml
    mapred site.xml
    不起作用:
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Djava.util.logging.config.file=parquet-logging.properties</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Djava.util.logging.config.file=parquet-logging.properties</value>
</property>
<property>
  <name>mapreduce.child.java.opts</name>
  <value>-Djava.util.logging.config.file=parquet-logging.properties</value>
</property>
# Note: I'm certain not every line here is necessary. I just added them to cover all possible
# class/facility names.you will want to tailor this as per your needs.
.level=WARNING
java.util.logging.ConsoleHandler.level=WARNING

parquet.handlers=java.util.logging.ConsoleHandler
parquet.hadoop.handlers=java.util.logging.ConsoleHandler
org.apache.parquet.handlers=java.util.logging.ConsoleHandler
org.apache.parquet.hadoop.handlers=java.util.logging.ConsoleHandler

parquet.level=WARNING
parquet.hadoop.level=WARNING
org.apache.parquet.level=WARNING
org.apache.parquet.hadoop.level=WARNING

  • 将文件添加到作业中。在配置单元中,这样做最容易: ADD FILE /path/to/parquet-logging.properties; 添加文件/path/to/parquet-logging.properties
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Djava.util.logging.config.file=parquet-logging.properties</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Djava.util.logging.config.file=parquet-logging.properties</value>
</property>
<property>
  <name>mapreduce.child.java.opts</name>
  <value>-Djava.util.logging.config.file=parquet-logging.properties</value>
</property>
# Note: I'm certain not every line here is necessary. I just added them to cover all possible
# class/facility names.you will want to tailor this as per your needs.
.level=WARNING
java.util.logging.ConsoleHandler.level=WARNING

parquet.handlers=java.util.logging.ConsoleHandler
parquet.hadoop.handlers=java.util.logging.ConsoleHandler
org.apache.parquet.handlers=java.util.logging.ConsoleHandler
org.apache.parquet.hadoop.handlers=java.util.logging.ConsoleHandler

parquet.level=WARNING
parquet.hadoop.level=WARNING
org.apache.parquet.level=WARNING
org.apache.parquet.hadoop.level=WARNING
完成此操作后,当您运行配置单元查询时,拼花地板只应 将警告(及更高级别)消息记录到标准输出容器日志


你是指所有来自拼花地板的信息,还是仅仅是信息(似乎占大多数)?@Panto除了错误,其他都是。你能在conf/log4j.properties中更改日志级别,看看发生了什么吗?@YijieShen我仍然收到消息。似乎它在那里不受控制。我会亲自尝试,并在成功时告诉你。这实际上对spark的log4j日志有效,但对这些日志无效。这些拼花地板日志似乎是由某个人制作的ng else?log4j.rootCategory不会影响它们。感谢您重新打开此问题。在我将org.apache.parquet.hadoop.handlers=java.util.logging.ConsoleHandler行添加到属性文件后,这对我来说很有效。 ADD FILE /path/to/parquet-logging.properties;