如何抑制“阶段2 ===>”从火花的输出控制台?

时间:2017-06-07 18:29:53

标签: scala apache-spark dataframe

我有数据框并试图获得不同的计数并且能够成功获得非常计数但是每当scala程序正在执行时我都会收到此消息([Stage 2:=============================> (1 + 1) / 2])如何在控制台中抑制特定的此消息。

val countID = dataDF.select(substring(col("dataDF"),5,7).distinct().count()

2 个答案:

答案 0 :(得分:4)

您需要将spark.ui.showConsoleProgress设置为false

我在添加进度条的票证评论中找到了这个。

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

我还没有在任何文档中看到它,但确实应该添加它。

答案 1 :(得分:1)

如果要通过代码执行。创建SparkContext时添加以下内容:

import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkConf, SparkContext}

Logger.getRootLogger.setLevel(Level.ERROR)  // Disabling "INFO" level logs (these lines must be before to create the SparkContext)
val conf = new SparkConf().set("spark.ui.showConsoleProgress", "false").setAppName("myApp")  
val sc = new SparkContext(conf)

SPARK2 +的更新内容:

您可以使用SparkSession抑制这些消息,并在声明中添加以下行(.config("spark.ui.showConsoleProgress", "false")):

spark = SparkSession
      .builder
      .master("local[*]")
      .appName("myApp")
      .config("spark.ui.showConsoleProgress", "false")