RDD 常用算子

RDD算子的分类

算子:RDD所能调用的函数
判定算子类型:只能依据返回值来判断,返回值是RDD则肯定是转换算子
按照类型划分只有两类:转换算子和触发算子
按照使用功能可以划分为基础算子和分析算子

Tranformation(转换)算子

  • 功能:用于实现对RDD的数据进行转换
  • 特点:都是lazy模式的,一般不会触发job的运行,算子返回值一定是RDD
  • 常见:map/filter/flatMap/reduceByKey/groupByKey/sortByKey

Action(触发)算子

  • 功能:触发job的运行,用于对RDD的数据进行输出或者保存
  • 特点一定会触发job的运行,返回值一定不是RDD
  • 常见:foreach、first、count、reduce、saveAsTextFile、collect、take

小结:
转换算子:一般不会触发job的构建,都是lazy模式,算子的返回值一定是RDD类型

触发算子:一定会触发job,构建Task将数据返回给用户,算子的返回值一定不是RDD类型




常用的基础算子

转换算子

map
  • 功能:对RDD中每个元素进行操作,并将处理好的每个结果直接放入一个新的RDD中
  • 场景:一对一的处理
  • 语法def map(self , f: T -> U ) -> RDD[U]
    • f:函数
    • T:f函数的参数
    • -> :表示转换
    • U: 返回值
flatMap
  • 功能:将两层列表List[List[A]],转换成一层列表List[A],类似于SQL中explode函数
  • 场景:一对多的处理
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值