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

Azure Databricks配置报错:堆内存超出节点最大Executor内存

解决Spark保存CSV到Azure Blob的Job Aborted问题

问题背景

将扁平化JSON文件保存到Azure Blob为CSV时,持续触发org.apache.spark.SparkException: Job aborted错误。尝试增大Executor内存时,遇到节点限制报错:指定堆内存(4096MB)超过Standard_F4节点类型允许的最大Executor内存(3157MB)。

补充错误堆栈:

ERROR FileFormatWriter: Aborting job 0d8c01f9-9ff3-4297-b677-401355dca6c4.
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 79.0 failed 4 times, most recent failure: Lost task 0.3 in stage 79.0 (TID 236) (10.139.64.7 executor 15): ExecutorLostFailure (executor 15 exited caused by one of the running tasks) Reason: Command exited with code 52
Driver stacktrace:
at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:3312)
at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:3244)
at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:3235)

已尝试使用/不使用coalesce保存数据框,均无效。


解决方案

1. 合规配置Executor内存参数

严格遵循Standard_F4节点的内存限制,调整以下Spark配置:

  • 设置spark.executor.memory为3072MB(比最大限制3157MB留足余量)
  • 配套设置spark.executor.cores为2(Standard_F4共4核,每个Executor分配2核,可同时运行2个Executor)
  • 可选配置spark.executor.memoryOverhead为256MB(手动设置避免默认值波动导致内存溢出)

2. 优化数据写入逻辑

  • 替换coalesce为repartition:coalesce是窄依赖,易造成单Task数据量过载;repartition会重新洗牌数据,均匀分配到多个Task,降低单Task内存压力
  • 启用分区写入:按数据中的维度字段(如日期、类别)分区,减少单个CSV文件的大小,示例代码:
    df.write.partitionBy("date").mode("overwrite").csv("wasbs://container@storageaccount.blob.core.windows.net/target-path")
    
  • 限制单文件记录数:通过配置spark.sql.files.maxRecordsPerFile控制每个CSV文件的记录数,避免文件过大触发错误码52(对应LinuxSIGXFSZ文件大小超限):
    spark.conf.set("spark.sql.files.maxRecordsPerFile", 100000)
    

3. 简化扁平化数据结构

检查JSON扁平化逻辑,移除不必要的冗余字段,仅保留CSV需要的列,减少单条记录的数据体积:

// 示例:只保留需要的字段
val simplifiedDf = flattenedDf.select("id", "name", "date", "value")

4. 排查Driver内存压力

如果Driver端出现内存不足,可设置spark.driver.memory为4096MB(Standard_F4节点的Driver内存上限通常高于Executor)


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:05:14