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

Spark AQE与倾斜连接配置未生效,数据倾斜问题求助

Spark Join与窗口函数的数据倾斜问题

问题详情

在Spark的Join和窗口函数操作中遇到了数据倾斜问题,已尝试Spark官方推荐的多项性能调优配置,且在Spark历史服务器的Environment标签中确认以下配置已生效:

.config("spark.sql.shuffle.partitions", 16000) \
.config("spark.executor.instances", 200) \
.config("spark.executor.memory", "60g") \
.config("spark.executor.cores", 5) \
.config("spark.sql.adaptive.enabled", "true") \
.config("spark.sql.adaptive.skewJoin.enabled", "true") \
.config("spark.sql.adaptive.coalescePartitions.enabled", "true") \
.config("spark.sql.adaptive.advisoryPartitionSizeInBytes","512m") \
.config("spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes","1024m") \
.config("spark.sql.adaptive.skewJoin.skewedPartitionFactor", 2) \
.config("spark.sql.adaptive.optimizeSkewsInRebalancePartitions.enabled", "true") \

同时还尝试了spark.sql.adaptive.forceOptimizeSkewedJoin配置,但数据倾斜问题仍未解决。

观察发现,所有存在倾斜的阶段中,有一个任务的读写数据量是次大任务的25倍,该任务出现了内存和磁盘溢出。按照当前配置的倾斜分区因子和阈值,这个分区应该被自动拆分,但实际并未触发拆分逻辑。

出现倾斜的阶段包括:

  • stage 66(SortMergeJoin)
  • stage 67(SortMergeJoin)
  • stage 81(Window)

注:每个倾斜阶段中仅单个任务出现溢出,例如stage 66的任务运行情况。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:37:31