如何防止 spark-submit 将警告打印到标准输出

how to keep spark-submit from printing warnings to stdout

spark-submit 将一些警告打印到标准输出。示例:

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

的输出

我正在使用 spark 1.4.1


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


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

尝试在创建 SparkContext 对象后添加 yoursparkcontext.setLogLevel("ERROR")。

有效的日志级别包括:ALL、DEBUG、ERROR、FATAL、INFO、OFF、TRACE、WARN

如果使用 SparkContext

my_spark_context.setLogLevel("ERROR")

如果使用 SparkSession

my_spark_session.sparkContext.setLogLevel("ERROR")