Spark基础API(cogroup)

cogroup函数是一个操作两个RDD的函数,且每个RDD是一个key-value类型;它可以把按照两个RDD的key进行分组,分组的结构是:元组第一个元素是一个key

第二个元素是一个列表,其中第一个元素是RDD1的元素,第二个元素是RDD2的元素

val pairRDD = sc.parallelize[(Int, Int)](Seq((1, 2), (3, 4), (3, 6), (5, 6)), 4)
val otherRDD = sc.parallelize(Seq((3, 9), (4, 5)))
scala> pairRDD.cogroup(otherRDD).collect()
res12: Array[(Int, (Iterable[Int], Iterable[Int]))] = Array((1,(CompactBuffer(2),CompactBuffer())), 
(3,(CompactBuffer(6, 4),CompactBuffer(9))), (4,(CompactBuffer(),CompactBuffer(5))), (5,(CompactBuffer(6),CompactBuffer())))


scala> pairRDD.collect
res13: Array[(Int, Int)] = Array((1,2), (3,4), (3,6), (5,6))


scala> otherRDD.collect
res14: Array[(Int, Int)] = Array((3,9), (4,5))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值