RDD的 transformations 和 actions 总结

举报
小生凡一 发表于 2021/10/15 22:54:03 2021/10/15
【摘要】 RDD的transformations和actions 两个RDD:一个RDD包含 {1, 2, 3} , 另一个RDD包含{3, 4, 5} 函数名功能例子结果map()对每个元素应用函数rdd.m...

RDD的transformations和actions

两个RDD:一个RDD包含 {1, 2, 3} , 另一个RDD包含{3, 4, 5}

函数名 功能 例子 结果
map() 对每个元素应用函数 rdd.map(x=>x+1) {2,3,4,4}
intersection() 交集 rdd.intersection(other) {3}
subtract() 取存在第一个RDD,而不存在第二个RDD的元素(使用场景,机器学习中,移除训练集) rdd.subtract(other) {1,2}
cartesian() 笛卡儿积 rdd.cartesian(other) { (1,3), (1,4), … (3,5) }
colletc() 返回RDD的所有元素 rdd.collect() {1,2,3,3}
count() 计数 rdd.count() 4
countByValue() 返回一个map,表示唯一元素出现的个数 rdd.countByValue() { (1,1) ,(2,1), (3,2) }
take(num) 返回num个元素 rdd.take(2) {1,2}
top(num) 返回前num个元素 rdd.top(2) {3 , 3}
takeOrdered(num)(ordering) 返回基于的排序算法的前几个元素 rdd.takeOrdered(2)(MyOrdering) {3, 3}
takeSample(withReplacement,num,[seed]) 取样例 rdd.takeSample(false, 1) 不确定
reduce(func) 合并RDD中的元素 rdd.reduce((x, y ) => x+y ) 9
fold(zero)(func) 与reduce()相似提供zero value rdd.flod(0)((x, y ) => x+y ) 9
aggregate(zeroValue)(seqOp,combOp) 与fold()相似,返回不同类型 rdd.aggregate((0, 0) (x, y)) => (x._1 +y , x._2 + 1), (x, y)=>(x._1 +y ._1, x._2 + y._2), (9 , 4)
foreach(func) 对RDD的每个元素作用函数,上面也不返回 rdd.foreach(func) 什么也没有

文章来源: blog.csdn.net,作者:小生凡一,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_45304503/article/details/118662356

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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