针对Spark分布式平台在shuffle阶段中导致数据量分配不均衡的问题,首先分析了Spark平台中数据倾斜的原因,建立了一个可以统一量化shuffle后key-value数据倾斜程度的倾斜模型;基于倾斜模型提出了一个可以解决Spark平台中多种数据倾斜问题的shuffle分区方案.该分区方案首先对Map阶段的输出数据进行采样,预测出全局中间数据的大小,再根据基于哈希的最佳适应算法对采样数据进行预分区,得到一张预分区表,最后根据预分区表对全部的中间数据完成分区.在key和value这2种不同倾斜情况下的实验结果表明,该shuffle分区方案具有普适性和高效性,可以有效处理key和value倾斜的情况.