spark学习 - 数据倾斜
文章目录
Example
spark数据倾斜现象
- 单个Executor执行时间久
- OOM
- Executor
- Driver
- Timeout
数据倾斜原因
发现数据倾斜
- 使用sample算子进行抽样
- 使用countByValue对抽样数据进行聚合计算
- 取出前N观察
数据倾斜 Solution 1 – 使用reduceByKey
- groupByKey转换为reduceByKey
- reduceByKey可以在Map端合并
- 类似于MapReduce中的Combiner
数据倾斜 Solution 2 – 两阶段聚合
数据倾斜 Solution 3 – 扩增数据
- 大表随机添加N种前缀,小表扩增N倍