You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scala控制台中禁用Stage相关日志输出?

如何禁用Scala控制台中的Spark Stage进度日志

我懂你碰到的这个困扰了——那些[Stage 103:> (1 + 1) / 100]这类的进度日志并不是通过log4j输出的,所以你之前针对org和akka日志级别的设置对它们完全不起作用。这些是Spark专门用来展示任务执行进度的控制台输出,得用Spark专属的配置来关闭。

下面是几种可行的解决方案:

  • 在SparkSession初始化时直接配置
    如果你是通过代码创建SparkSession,可以在构建器中添加关键配置项:

    import org.apache.spark.sql.SparkSession
    
    val spark = SparkSession.builder()
      .appName("YourApplication")
      .master("local[*]") // 根据你的运行环境调整,集群模式可省略该配置
      .config("spark.ui.showConsoleProgress", false) // 核心配置:关闭控制台进度显示
      .getOrCreate()
    
  • 在Spark Shell/Scala控制台启动时传入参数
    如果你是直接启动Spark Shell,可以在启动命令中加入配置参数:

    spark-shell --conf spark.ui.showConsoleProgress=false
    
  • 进入控制台后动态修改配置
    已经进入Scala控制台/Spark Shell的情况下,也可以通过SparkSession动态设置:

    spark.conf.set("spark.ui.showConsoleProgress", false)
    

设置完成后,那些烦人的Stage进度日志就不会再出现在控制台里了。

内容的提问来源于stack exchange,提问作者Khaled Omar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:27:22