Spark中repartition和coalesce的用法
来源:互联网 发布:ubuntu vmdk安装 编辑:程序博客网 时间:2024/05/19 20:43
repartition(numPartitions:Int):RDD[T]和coalesce(numPartitions:Int,shuffle:Boolean=false):RDD[T]
他们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的简易实现,(假设RDD有N个分区,需要重新划分成M个分区)
1)、N<M。一般情况下N个分区有数据分布不均匀的状况,利用HashPartitioner函数将数据重新分区为M个,这时需要将shuffle设置为true。
2)如果N>M并且N和M相差不多,(假如N是1000,M是100)那么就可以将N个分区中的若干个分区合并成一个新的分区,最终合并为M个分区,这时可以将shuff设置为false,在shuffl为false的情况下,如果M>N时,coalesce为无效的,不进行shuffle过程,父RDD和子RDD之间是窄依赖关系。
3)如果N>M并且两者相差悬殊,这时如果将shuffle设置为false,父子RDD是窄依赖关系,他们同处在一个Stage中,就可能造成spark程序的并行度不够,从而影响性能,如果在M为1的时候,为了使coalesce之前的操作有更好的并行度,可以讲shuffle设置为true。
总之:如果shuff为false时,如果传入的参数大于现有的分区数目,RDD的分区数不变,也就是说不经过shuffle,是无法将RDDde分区数变多的。
地址:http://blog.csdn.net/u011981433/article/details/50035851
- Spark中repartition和coalesce的用法
- Spark中repartition和coalesce的用法
- Spark中repartition和coalesce的用法
- Spark中repartition和coalesce的用法
- 【Spark】Spark中repartition和coalesce的区别
- Spark重新分区—repartition和coalesce的用法
- spark coalesce和repartition的区别
- spark coalesce和repartition区别
- spark算子(repartition和coalesce)
- Spark Rdd coalesce()方法和repartition()
- Spark Rdd coalesce()方法和repartition()方法
- Spark RDD算子【二】coalesce 和 repartition
- Spark RDD coalesce()方法和repartition()方法
- Spark算子[02]:coalesce,repartition
- [Spark--基础]--repartition vs coalesce
- Spark 重分区coalesce和repartition,合并小文件
- Spark编程之基本的RDD算子coalesce, repartition, checkpoint
- Learning Spark 笔记(五) -- coalesce、repartition
- nipype处理核磁数据(〇)——运行环境的安装
- BatchNorm层训练和测试的注意事项
- Linux中的正则表达式
- [带GIF效果图(PagerSlidingTabStrip添加下滑上滑功能)根据触摸事件的传递,滑动收起或下拉viewpager的标题指示器
- python2 读取文件TXT编码问题
- Spark中repartition和coalesce的用法
- 盘点那些必不可少的“用例集”
- 易错4(互质)
- 使用Redis做MySQL的缓存
- 前端.H5.语义化标记&Selector API
- Android使用adb命令对手机进行截屏保存到电脑&SDCard
- JAVA内存泄露解析
- transition过渡+text-shadow文字阴影+新增颜色+实例
- 3—4 猜数字游戏的提示