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

Spark local模式运行时executor日志的默认位置及配置方法是什么

Spark Local模式Executor日志默认存储路径

Spark Local模式下,Driver与Executor运行在同一JVM进程内,默认不会生成独立的Executor日志文件,日志默认直接输出到进程的控制台(即你执行测试命令的终端输出流)。
若你已经配置了日志落盘,默认日志会存储在执行命令的当前工作目录,而非SPARK_HOME目录下。SPARK_HOME下的work目录存放Executor日志是集群运行模式的逻辑,Local模式默认不会生成该目录。

自定义Executor日志存储路径的方法
  • 方法1:通过log4j配置文件自定义
    首先编写自定义的log4j.properties配置文件,示例配置如下:
    # 配置Executor日志输出到指定文件
    log4j.appender.executorFile=org.apache.log4j.FileAppender
    log4j.appender.executorFile.File=/你自定义的绝对路径/executor.log
    log4j.appender.executorFile.Append=true
    log4j.appender.executorFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.executorFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    # 指定Executor相关日志输出到上述文件
    log4j.logger.org.apache.spark.executor=INFO, executorFile
    
    初始化SparkSession时指定加载该配置文件即可生效(Local模式下配置Driver参数即可覆盖Executor日志配置):
    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder \
        .master("local[*]") \
        .appName("pyspark-unit-test") \
        .config("spark.driver.extraJavaOptions", "-Dlog4j.configuration=file:/你存放log4j.properties的绝对路径/log4j.properties") \
        .getOrCreate()
    
  • 方法2:通过Spark本地目录配置指定
    若无需单独定制日志格式,可直接配置spark.local.dir参数指定Spark本地工作目录,Executor日志会自动生成在该目录的work子文件夹下,按应用ID分类归档:
    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder \
        .master("local[*]") \
        .appName("pyspark-unit-test") \
        .config("spark.local.dir", "/你自定义的Spark工作根目录") \
        .getOrCreate()
    

如果是通过pytest fixture统一初始化Spark实例,将上述配置添加到fixture的SparkSession构造逻辑中,即可全局生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:54:07