当前位置: 代码迷 >> python >> 使用两个RDD的值来生成新的RDD
  详细解决方案

使用两个RDD的值来生成新的RDD

热度:58   发布时间:2023-06-13 16:44:27.0

我有一个文本文件,每行有2个整数值,以空格分隔

假设我有两个RDD。 一个带有一对值(x,y)的值,其中x和y是2个整数值。 另一个RDD(rdd2->(a,b))只有一对,带有两个整数a,b。

rdd1 = textfile.map(lambda line: line.split())
...

我的目的是将rdd1中的每个值与rdd2中的对应值相减

结果看起来像

x1-a,y1-b
x2-a,y2-b
x3-a,y3-b
...

我怎样才能做到这一点

如果第二个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) )
  相关解决方案