我有一个文本文件,每行有2个以空格分隔的整数值
假设我有两个RDD。一个具有一对值(x,y),其中x和y是2个整数值。另一个RDD(rdd2 - >(a,b)),它只有一对,带有两个整数值a,b。
rdd1 = textfile.map(lambda line: line.split())
...
我的目标是用rdd2中的相应值减去rdd1中的每个值
结果看起来像
x1-a,y1-b
x2-a,y2-b
x3-a,y3-b
...
我怎样才能实现这个目标
答案 0 :(得分:1)
如果第二个RDD只包含一个元组,即值(a:Int, b:Int)
- 它根本没有意义 - 而-
表示减法。这应该做的事情:
val res = rdd2.collect()
val a = res(0)(0)
val b = res(0)(1)
val rdd3 = rdd1.map(tuple => (tuple._1 - a, tuple._2 - b) )