- 博客(1)
- 收藏
- 关注
原创 解决大数据Spark开发过程中的数据倾斜问题
遇到的问题场景: RDD可以通过hash进行分区,通过其给的key的值,计算其hashcode,并除以分区的个数取余,如果余数小于0,则用余数+分区的个数,最后返回的这个值就是key所属的分区号。 HashPartitioner分区弊端:可能导致每个分区中数据量的不均匀,极端情况下会导致某些分区拥有RDD的全部数据(数据倾斜) hash大量碰撞的结果 1.可以预聚合 如果(hello,1)有80万条数据 提前预聚合 然后80万条数据就变成1条数据了 ,这时再进行hash分区(不会都放在一个分区里面) 这样
2022-03-11 21:07:03 2160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人