标签:算子 soft master lan 情况 而且 www. ros 使用场景
两个RDD进行join的时候,如果数据量都比较大,那么此时可以sample看下两个RDD中的key分布情况。如果出现数据倾斜,是因为其中某一个RDD中的少数几个key的数据量过大,而另一个RDD中的所有key都分布比较均匀,此时可以考虑采用本解决方案。
对于两个大RDD进行join时的数据倾斜,如果只是某几个key导致了倾斜,采用该方式可以用最有效的方式打散key进行join。而且只需要针对少数倾斜key对应的数据进行扩容n倍,不需要对全量数据进行扩容,避免了占用过多内存。
如果导致倾斜的key特别多的话,比如成千上万个key都导致数据倾斜,就不能使用本解决方案了。
我对上述方案做了代码实现,见我的github:https://github.com/wwcom614/Spark
【Spark调优】大表join大表,少数key导致数据倾斜解决方案
标签:算子 soft master lan 情况 而且 www. ros 使用场景
原文地址:https://www.cnblogs.com/wwcom123/p/10597825.html