其他分享
首页 > 其他分享> > Spark 算子

Spark 算子

作者:互联网

Spark的算子的分类

从大方向来说,Spark 算子大致可以分为以下两类:

Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。

Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业。
Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark系统。

从小方向来说,Spark 算子大致可以分为以下三类:

Value数据类型的Transformation算子,这种变换并不触发提交作业,针对处理的数据项是Value型的数据。

Key-Value数据类型的Transfromation算子,这种变换并不触发提交作业,针对处理的数据项是Key-Value型的数据对。

Action算子,这类算子会触发SparkContext提交Job作业。

简单来说

转换算子:将一个RDD转换成另一个RDD, 转换算子是懒执行,需要一个action算子来触发执行

操作算子:触发任务执行,一个action算子会触发一次任务执行, 同时每一个ation算子都会触发前面的代码执行

action算子

action算子的返回值不是一个rdd, 每一个action算子都会触发一个job执行
foreach:循环RDD
saveAsTextFile:保持数据
count:统计行数
collect:将rdd转换成集合
take:取top
reduce:全局聚合
sum:求和,rdd必须可以求和

标签:触发,作业,RDD,算子,action,Spark
来源: https://www.cnblogs.com/f-1000/p/16475341.html