spark算子的分类

spark内置了非常多有用的算子(方法),通过对这些算子的组合就可以完成业务需要的功能,spark的编程归根结底就是对spark算子的使用,因此非常有必要对这些内置算子进行详细的归纳。

spark算子在大的方向上可以分为两类:

名称说明
Transformation变换、转换算子:不触发提交作业,只是完成作业中间过程处理;Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。Transformation参数类型为value或者key-value的形式。
Action行动算子:触发SparkContext提交job作业。Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark系统。

value 类型

细类型算子
输入分区与输出分区一对一型map flatMap mapPartitions glom
输入分区与输出分区多对一型union cartesain
-Cache型cache persist
输出分区为输入分区子集型filter distinct substract sample takeSample
输入分区与输出分区多对多型groupBy

key-value类型

细类型算子
输入分区与输出分区一对一mapValues
对单个RDD或两个RDD聚集单个RDD聚集: combineByKey reduceByKey partitionBy两个RDD聚集: Cogroup
连接joinleftOutJoin和 rightOutJoin

Action算子

细类型算子
无输出foreach
HDFSsaveAsTextFilesaveAsObjectFile
Scala集合和数据类型collect collectAsMap reduceByKeyLocally lookup count top reduce fol aggregate
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值