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

Spark中distinct操作第二阶段计算的执行位置:Driver还是Executor?

Spark Distinct 操作的第二阶段去重位置说明

Spark中distinct操作的第二阶段去重完全在Executor层面执行,不会将所有数据传递到Driver节点处理,具体流程细节如下:

  • 第一阶段:每个Executor上的分区先执行本地去重——通过哈希计算筛选出当前分区内的唯一值,生成形如(value, null)的键值对。
  • 第二阶段:通过Shuffle操作将相同哈希值的键值对分发到同一个Executor的目标分区,随后在该Executor的分区内对聚合后的键值对再次去重,最终得到全局唯一的结果。

这种分布式去重的设计,核心是为了避免将全量数据集中到Driver节点引发内存溢出(OOM),充分利用集群中Executor的分布式计算能力来完成全局去重。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:04:49