如何避免将火花打印警告输出到标准输出

时间:2018-08-09 14:20:09

标签: apache-spark pyspark yarn

spark-submit向stdout打印一些警告。示例:

spark-submit --master yarn myscript.py 2>/dev/null
spark.yarn.driver.memoryOverhead is set but does not apply in client mode.
# followed by the actual output of myscript.py

这使得不可能(或至少是不成比例的困难)在另一个脚本中使用该脚本的输出。

我想从stdout删除spark-submit中的所有消息,而只保持输出直接来自myscript.py


我正在火花1.4.1


我知道,我可能可以通过删除有问题的属性来删除警告,但是我想确保stdout保持干净,即使弹出另一个警告。


这不是this的副本,因为我不想让myscript安静下来,而是让其他一切安静下来。

2 个答案:

答案 0 :(得分:1)

在创建SparkContext对象之后,尝试添加yoursparkcontext.setLogLevel(“ ERROR”)。

答案 1 :(得分:1)

有效的日志级别包括:全部,调试,错误,致命,信息,关闭,跟踪,警告

如果使用SparkContext

my_spark_context.setLogLevel("ERROR")

如果使用SparkSession

my_spark_session.sparkContext.setLogLevel("ERROR")