在Java中的Apache Spark中使用Tuple3时combineByKey的替代方法是什么?

时间:2017-10-31 11:14:12

标签: java apache-spark tuples java-pair-rdd

我刚刚开始使用Java中的Apache Spark。我目前正在做一个包含一些书籍数据的迷你项目。我必须找到每个国家最受欢迎的作者。

我有一个pairRDD,其中Key是国家,Value是作者,就像这样

[(usa,C. S Lewis), (australia,Jason Shinder), (usa,Bernie S.), (usa,Bernie S.)]

我是否必须使用Tuple3添加一个字段并计算每个值的存在次数?如果是这样,我如何使用combineByKey for Tuple3?

我有另一个想法,我可以从pairRDD获取所有键,并基于此,我可以过滤使用另一个pairRDD与author_names和每次提到的次数,我可以找到最多热门作者。但这并不像一个优雅的解决方案,因为我必须遍历键组。帮助

1 个答案:

答案 0 :(得分:1)

字面意思是YAW(又一个Wordcount):

rdd.mapToPair(s -> new Tuple2<>(s, 1)).reduceByKey((c1, c2) -> c1 + c2);