pairRDD中的键相同时,如何保存值?

时间:2018-08-23 17:05:53

标签: scala apache-spark rdd keyvaluepair

我有两个pairRDDs (Int, BreezeDenseMatrix[Double]),当keys相同时,我想要的是替换它们的值。

例如当我有

RDD_1(1, BreezeMatrix_a)

RDD_2(1, BreezeMatrix_b)

想要的结果:(1, BreezeMatrix_a-BreezeMatrix_b)

我尝试了join,但是返回的却是(Int, (BreezeMatrix_a, BreezeMatrix_b)),我不知道第二部分如何转换。我不知道是set还是arrayspark尚不清楚。 还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

让连接的结果成为

joinresult = (Int, (BreezeMatrix_a, BreezeMatrix_b))

然后给

actualresult = joinresult.map( a => (a._1,( a._2_1 - a._2_2)))