如何在JavaPairRDD Java Spark中计算密钥的示例

hrirmatl  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(130)

为了详细说明我所遇到的问题或不确定如何处理的问题,我目前有一个JavaPairRDD“media”,它包含两个整数值,一个followed id和一个follower id。问题是每个键的值都是另一个id,而不是简单的值1。也就是说,我尝试使用.mapToPair并提取键值以创建新的tuple2〈〉(p._1,1),其中每个键现在都将保存值1,以使计数过程更容易。(),但是我总是收到一个错误,而且我不太确定如何将新的JavaPairRDD返回为〈id,count〉。

JavaPairRDD<Integer, Integer> socials = 
     media.mapToPair(p -> new Tuple2<>(p._1, 1))
     .reduceByKey(p2 -> p._1 + p._2);
4ktjp1zp

4ktjp1zp1#

假设您有这些RDD<Int,Int>元组:

(4,5)
(1,7)
(1,3)
(3,4)
(2,3)
(1,2)

根据我的理解,您需要计算key重复了多少次,因此结果应该如下所示:

1, 3
2, 1
3, 1
4, 1

如果这是您想要的,您可以通过以下方式实现:

media.map(x => x._1).countByValue()

祝你好运!

相关问题