何谓数据倾斜?数据倾斜指的是,并行处理的数据集 中,某一部分(如Spark的一个Partition)的数据显著多于其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈. 表现为整体任务基本完成,但仍有少量子任务的reduce还在运行. 数据倾斜的原因: 1.join 一个表较小,但key集中,分发到一个或者几个reduce上的数据远高于平均值: 大表与大表关联,但分桶的判断字段0值或者空值过多,这些空值或者0值都由一个reduce处理 2.group by 分组的维度过少,每个维度的值过多