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

Spark集群内存与核心调优:Databricks配置如何映射Executor与Node并优化?

Spark术语对应与配置优化

术语对应关系

  • Databricks Worker节点 = 早期Stack Overflow讨论中的node(物理/虚拟计算节点)
  • Executor:在单Worker配置下,默认会给这个Worker分配1个Executor。你当前的Worker是256GB内存、64核,默认状态下这个Executor会占用该Worker的全部可用资源(除少量系统预留内存)
  • Driver:和早期讨论中的Driver概念完全一致,负责作业调度、任务分发,对应你配置的64GB内存、8核节点

最优配置设置

基于你1 Driver + 1 Worker的集群配置,结合Shuffle开销最小化的目标,直接用以下Spark配置:

  • 固定Executor数量:spark.executor.instances=1,让单个Executor独占Worker资源,避免节点内资源竞争
  • 内存分配:Worker总内存256GB,预留15%左右给系统进程,设置spark.executor.memory=220g,同时配套设置spark.executor.memoryOverhead=36g,降低OOM风险
  • 核心分配:设置spark.executor.cores=64,让Executor用满Worker的全部核心,最大化单节点并行度,减少跨Executor的Shuffle开销
  • Driver保持现有配置:64GB内存、8核足够应对多数作业的调度需求,若有大量广播变量可适当调大spark.driver.memory
  • Shuffle补充优化:开启spark.shuffle.service.enabled=true(Databricks默认开启),同时根据数据量调整spark.sql.shuffle.partitions,比如数据量小时设为64,和Executor核数匹配,减少小文件生成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:30:53