RDD的 transformations 和 actions 总结

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 valuerdd.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)什么也没有
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小生凡一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值