您当前的位置: 首页 > 

段智华

暂无认证

  • 0浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

数据倾斜解决方案之六:使用随机数进行Join

段智华 发布时间:2017-07-13 07:29:13 ,浏览量:0

 

30.7数据倾斜解决方案之六:使用随机数进行Join

本节讲解使用随机数进行Join,首先讲解什么叫使用随机数进行Join来解决数据倾斜问题,然后讲解如何使用随机数?使用随机数进行Join来解决数据倾斜问题使用场景、案例实战、注意事项等内容。

30.7.1什么叫使用随机数进行Join来解决数据倾斜问题?

        使用随机数进行Join来解决数据倾斜问题:如果2个RDD的数据中某个Key或者某几个Key数据的Value值特别多,2个RDD进行Join的时候发生了数据倾斜。此时,我们可以将2个RDD数据倾斜的Key的都加上随机数,通过改变并行度来解决数据倾斜问题。

30.7.2如何使用随机数?

倾斜的Key加上随机数:对Key进行map操作加上随机数,计算出结果以后再次进行map,将随机数去掉,这样计算得到的结果和原先不加随机数的结果是一样的,好处是可以控制并行度。

随机数的使用:

1、   对RDD1使用mapToPair算子进行转换,使用Randomrandom = new Random();构建一个随机数,例如任意一个100以内的随机数random.nextInt(100),将其赋值给prefix;然后将prefix加上原来的Key值组拼成新的Key值:prefix_Key。

2、   对RDD2中使用mapToPair算子进行转换,对于RDD1相同的Key值࿰

关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.0614s