目录
spark 数据倾斜优化
数据倾斜产生的原因
1、数据分布不均,有的key很多,有的key很少
2、有shuffle的过程
这两个原因也是解决数据倾斜的两个入手的方面
数据倾斜七种解决方案
其中 3、4、5、6 最重要
3和4 -- 聚合
5和6 -- 关联
1、使用Hive ETL预处理数据
2、过滤少数导致倾斜的key
3、提高shuffle操作的并行度
4、双重聚合
5、将reduce join转为map join
6、采样倾斜key并分拆join操作
7、使用随机前缀和扩容RDD进行join
使用Hive ETL预处理数据
相当于将数据倾斜提前到Hive中,Hive底层是M