RDD中的常用算子

基本概念

主要分为两大类Trasnformation和Action

trasnformation(转换):主要是物理的转换,不会触发任务的真正的执行,只会记录我们进行了什么操作,等到真正执行再去计算

action(动作):会触发spark程序真正的执行,调用action的时候,前面进行一系列的trasnformation操作包括action都会被执行

trasnformation常用算子

map:将所有的元素取出,经过func函数转换成一个新的RDD

filter:返回一个新的RDD,该RDD经过func函数计算,返回true的元素

flatMap:先经过map函数,再进行flat压平

mappartitions:类似map,但是是把分区里的所有元素汇集成一个集合,然后再执行逻辑,形成新的RDD

union:合并,将两个RDD中的数据进行合并,返回一个新的RDD(取并集)

intersection:合并,(取交集)

distinct:去重,对原来的RDD进行去重,返回新的RDD

partitionBy:分区,有分区可以重新分(可以做一些数据的合并,还有数据倾斜的问题)

reduceByKey:在一个<K,V>的RDD上调用,返回一个(K,V)的RDD,可以使相同的K合并,reduce个数第二个参数设置(可选项)  提前在本地做聚合

groupByKey:和reduceByKey最终的结果是一样的,groupByKey不是在本地合并是在最终进行合并

sortByKey:按照K进行排序

sortBy:指定某一个元素进行排序

join:把相同的K合并,V形成集合(装到元祖中去)

clalesce:缩减分区数,用于大数据集过滤后,提高小数据集的执行效率

mapvlaues:针对<K,V>类型,只对V进行操作

subtract:计算差的一种函数,只保留不同的

Action常用算子

reduce:通过func函数聚集RDD中所有元素,必须是可交换,可并联的

collect:将RDD中的元素打印出来

count:统计一个多少条数据

first:取出RDD中第一个元素

take(N),取出RDD中前N个值

top(N):排序取前N,从大到小

takeOedered(N),排序取出前N个值,从小到大

saveAsTextFile(path):保存到指定的路径中(本地或HDFS)

foreach:在数据集的每一个元素上,进行func进行更新

640?wx_fmt=jpeg

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值