Spark---补充算子

举报
前进的蜗牛 发表于 2023/11/24 09:08:51 2023/11/24
【摘要】 一、Spark补充Transformation算子1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin作用在K,V格式的RDD上。根据K进行连接,对(K,V)join(K,W)返回(K,(V,W))join后的分区数与父RDD分区数多的那一个相同。2、union合并两个数据集。两个数据集的类型要一致。返回新的RDD的分区数是合并RDD分区数的总和...

一、Spark补充Transformation算子

1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin

作用在K,V格式的RDD上。根据K进行连接,对(K,V)join(K,W)返回(K,(V,W))

  • join后的分区数与父RDD分区数多的那一个相同。

2、union

合并两个数据集。两个数据集的类型要一致。

  • 返回新的RDD的分区数是合并RDD分区数的总和。

3、intersection

取两个数据集的交集,返回新的RDD与父RDD分区多的一致

4、substract

取两个数据集的差集,结果RDD的分区数与substract前面的RDD的分区数一致。

5、mapPartitions

与map类似,遍历的单位是每个partition上的数据。

6、distinct(map+reduceByKey+map)

7、cogroup

当调用类型(K,V)和(K,W)的数据上时,返回一个数据集(K,(Iterable<V>,Iterable<W>)),子RDD的分区与父RDD多的一致。


二、Spark补充Action算子

1、foreachPartition

遍历的数据是每个partition的数据。

2、collectAsMap

对K,V格式的RDD数据回收转换成Map<K,V>

3、takeSample(boolean,num,seed)

takeSample可以对RDD中的数据随机获取num个,第一个参数是有无放回,第二个参数是随机获取几个元素,第三个参数如果固定,那么每次获取的数据固定。

4、top(num)

对RDD中的所有元素进行由大到小排序,获取前num个元素返回。

5、takeOrdered(num)

对RDD中的所有元素进行由小到大的排序,获取前num个元素返回。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。