Spark算子:RDD基本转换操作(2)–coalesce、repartition
2019独角兽企业重金招聘Python工程师标准>>>
coalesce
def coalesce(numPartitions: Int, shuffle: Boolean = false)(implicit ord: Ordering[T] = null): RDD[T]
该函数用于将RDD进行重分区,使用HashPartitioner。
第一个参数为重分区的数目,第二个为是否进行shuffle,默认为false;
以下面的例子来看:
- scala> var data = sc.textFile("/tmp/lxw1234/1.txt")
- data: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[53] at textFile at :21
- scala> data.collect
- res37: Array[String] = Array(hello world, hello spark, hello hive, hi spark)
- scala> data.partitions.size
- res38: Int = 2 //RDD data默认有两个分区
- scala> var rdd1 = data.coalesce(1)
- rdd1: org.apache.spark.rdd.RDD[String] = CoalescedRDD[2] at coalesce at :23
- scala> rdd1.partitions.size
- res1: Int = 1 //rdd1的分区数为1
- scala> var rdd1 = data.coalesce(4)
- rdd1: org.apache.spark.rdd.RDD[String] = CoalescedRDD[3] at coalesce at :23
- scala> rdd1.partitions.size
- res2: Int = 2 //如果重分区的数目大于原来的分区数,那么必须指定shuffle参数为true,//否则,分区数不便
- scala> var rdd1 = data.coalesce(4,true)
- rdd1: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[7] at coalesce at :23
- scala> rdd1.partitions.size
- res3: Int = 4
repartition
def repartition(numPartitions: Int)(implicit ord: Ordering[T] = null): RDD[T]
该函数其实就是coalesce函数第二个参数为true的实现
- scala> var rdd2 = data.repartition(1)
- rdd2: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[11] at repartition at :23
- scala> rdd2.partitions.size
- res4: Int = 1
- scala> var rdd2 = data.repartition(4)
- rdd2: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[15] at repartition at :23
- scala> rdd2.partitions.size
- res5: Int = 4
如果觉得本博客对您有帮助,请 赞助作者 。
转载于:https://my.oschina.net/chensanti234/blog/808544
Spark算子:RDD基本转换操作(2)–coalesce、repartition相关推荐
- 详解 Spark RDD 的转换操作与行动操作
前言 本期继续讲解 Spark 核心 RDD 编程部分,内容比较干货也比较长,建议大家先收藏. 学习目标 RDD 的创建 RDD 的转换操作 RDD 的行动操作 惰性求值 1. RDD 的创建 Spa ...
- Spark算子:RDD基本转换操作–coalesce、repartition
1. coalesce def coalesce(numPartitions: Int, shuffle: Boolean = false)(implicit ord: Ordering[T] = n ...
- mappartitions java_Spark算子:RDD基本转换操作(5)–mapPartitions、mapPartitionsWithIndex
关键字:Spark算子.Spark RDD基本转换.mapPartitions.mapPartitionsWithIndex mapPartitions def mapPartitions[U](f: ...
- spark之RDD的转换算子与行为算子的具体使用
文章目录 1.Transform算子 1.1 map 1.2 flatmap 1.3 groupBy和groupBykey 1.4 filter 1.5 Mappartitions 1.6 mapVa ...
- RDD基本转换操作:zipWithIndex、zipWithUniqueId
zipWithIndex def zipWithIndex(): RDD[(T, Long)] 该函数将RDD中的元素和这个元素在RDD中的ID(索引号)组合成键/值对. scala> var ...
- 五-中, Spark 算子 吐血总结(转化+行动算子共三十七个)
文章目录 五-中, Spark 算子吐血总结 5.1.4.3 RDD 转换算子(Transformation) 1. Value类型 1.1 `map` 1.2 `mapPartitions` 1.3 ...
- spark算子_Spark常用算子
Spark的算子分类: 从大方向说,Spark算子大致可以分为以下两类: (1)Transformation变换/转换算子:这种变换并不触发提交作业,这种算子是延迟执行的,也就是说从一个RDD转换生成 ...
- Spark算子总结版
Spark的算子的分类 从大方向来说,Spark 算子大致可以分为以下两类: 1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理. Transformat ...
- spark学习-Spark算子Transformations和Action使用大全(Transformations章(一))
spark学习-22-Spark算子Transformations和Action使用大全(Transformations章(一)) http://blog.csdn.net/qq_21383435/a ...
- spark算子的分类
spark内置了非常多有用的算子(方法),通过对这些算子的组合就可以完成业务需要的功能,spark的编程归根结底就是对spark算子的使用,因此非常有必要对这些内置算子进行详细的归纳. spark算子 ...
最新文章
- hdu 1688 Sightseeing
- SQL2005以上版本派生表更新
- 发现华为才是真·手机公司,小米确实不靠卖手机赚钱...
- DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——41~66
- CF140C-New Year Snowmen【优先队列】
- 学习Spring-Cloud –编写微服务
- restTemplate请求,报 : No instances avaliable for ip地址
- 用 Python 实现手机自动答题,下一个百万获奖人可能就是你!
- 【344天】我爱刷题系列103(2018.01.15)
- 浏览器开启WebGL
- 模拟电话簿提取名字显示
- 七七计算机论文,七七计算机外文文献 七七计算机参考文献怎么写
- 项目配置管理CM(Configuration Management)
- webrtc与stunserver、turnserver建立连接花费时间十秒左右
- 如何在windows上下载安装zeplin
- skyline三维地图与arcgis二维地图联动
- HTML5相册,网页,模板,微信,制作,
- Windows Server 2019的安装模式
- 如何使用N1盒子实现自动撸豆
- PRTG - Paessler Router Traffic Grapher 6.0.5.516/517 软件试用
热门文章
- RPM、SRPM和YUM,linux包rpm包管理工具
- c语言 实验6 数组实验报告,实验报告(实验六数组).doc
- 物理内存是如何组织管理的
- 漫画:什么是B+树?
- netlink 0010 -- Generic Netlink 实现通信
- STM32相关问题解决方法
- PJSIP视频用户开发
- SylixOS 启动时mmu 初始化
- linux设备实现otg移动盘,Linux下通过OTG把板卡上的一个磁盘或文件映射成移动磁盘...
- 愤怒的小鸟python代码_Python 愤怒的小鸟代码实现:物理引擎pymunk使用