如何总结两个Apache Spark JavaPairRDD?

问题描述 投票:1回答:1

我有以下JavaPairRDD,它们代表每个客户的订单数量:

JavaPairRDD<String, Integer> customersToOrderCountRDD1 = ...

JavaPairRDD<String, Integer> customersToOrderCountRDD2 = ...

从Cassandra中的表中检索第一个,从外部Web API检索第二个。

计算这两个RDD的组合值的最有效方法是什么,换句话说,获取每个客户的总订单数:例如,如果我在RDD中有以下数据集:

customersToOrderCountRDD1: ([email protected], 3) ([email protected], 4)
customersToOrderCountRDD2: ([email protected], 1) ([email protected], 2)

要得到:

customersToTotalOrderCount: ([email protected], 4) ([email protected], 6)
java apache-spark
1个回答
3
投票

请参阅“使用键值对”部分和union / reduceByKey API: http://spark.apache.org/docs/latest/programming-guide.html#working-with-key-value-pairs

customersToOrderCountRDD1.union(customersToOrderCountRDD2).reduceByKey((a, b) -> a + b)
© www.soinside.com 2019 - 2024. All rights reserved.