微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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必须可以求和

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐