[英]How to sum two Apache Spark JavaPairRDDs?
我有以下JavaPairRDD,它们代表每个客户的订单数量:
JavaPairRDD<String, Integer> customersToOrderCountRDD1 = ...
JavaPairRDD<String, Integer> customersToOrderCountRDD2 = ...
从Cassandra中的表中检索第一个,从外部Web API检索第二个。
计算这两个RDD的组合值的最有效方法是什么,换句话说,获取每个客户的总订单数:例如,如果我在RDD中有以下数据集:
customersToOrderCountRDD1: (email1@email.com, 3) (email2@email.com, 4)
customersToOrderCountRDD2: (email1@email.com, 1) (email2@email.com, 2)
要得到:
customersToTotalOrderCount: (email1@email.com, 4) (email2@email.com, 6)
请参阅“使用键值对”部分和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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.