Spark中的算子都有哪些
【摘要】 Spark中的算子都有哪些总的来说,spark分为三大类算子:Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理; Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算Action 行动算子:这类算子会触发 SparkContex...
Spark中的算子都有哪些
总的来说,spark分为三大类算子:
-
Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理; Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算
-
Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业; Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark系统
-
controller 控制操作:Spark中控制算子也是懒执行的,需要Action算子触发才能执行,主要是为了对数据进行缓存。
控制算子有三种,cache,persist,(RDD 持久化原理)
checkpoint,以上算子都可以将RDD持久化,持久化的单位是partition。cache和persist都是懒执行的。必须有一个action类算子触发执行。checkpoint算子不仅能将RDD持久化到磁盘,还能切断RDD之间的依赖关系。
1. Value数据类型的Transformation算子
输入分区与输出分区一对一型
- map算子
- flatMap算子
- mapPartitions算子
- glom算子
输入分区与输出分区多对一型
- union算子
- cartesian算子
输入分区与输出分区多对多型
- grouBy算子
输出分区为输入分区子集型
- filter算子
- distinct算子
- subtract算子
- sample算子
- takeSample算子
Cache型
- cache算子
- persist算子
2. Key-Value数据类型的Transfromation算子
输入分区与输出分区一对一
- mapValues算子
对单个RDD或两个RDD聚集
- combineByKey算子
- reduceByKey算子
- partitionBy算子
- Cogroup算子
连接
- join算子
- leftOutJoin 和 rightOutJoin算子
3. Action算子
无输出
- foreach算子
HDFS算子
- saveAsTextFile算子
- saveAsObjectFile算子
Scala集合和数据类型
- collect算子
- collectAsMap算子
- reduceByKeyLocally算子
- lookup算子
- count算子
- top算子
- reduce算子
- fold算子
- aggregate算子
- countByValue
- countByKey
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)