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必须可以求和
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!