Spark的join的优化经验

Spark的join的优化经验

[TOC]

经验之谈

​ Spark作为分布式的计算框架,最为影响其执行效率的地方就是频繁的网络传输。所以一般的,在不存在数据倾斜的情况下,想要更好的提高 Spark Job 的执行效率,就尽量的减少 job 的 shuffle 的过程(减少 job 的 stage),或者减小shuffle带来的影响

  • 尽量减少参与 join 的 RDD 的数据量
  • 尽量避免参数 join 的 RDD 都具有重复的 key
  • 尽量避免或者减少 shuffle 的过程
  • 条件允许的情下,使用 map-join 完成 join