PySpark RDD 转换
PySpark RDD transformation
我有一个带有浮点数列表的 RDD:
[1.0, 3.0, 4.0, 2.0]
我想要一个像这样的转换后的 RDD:
[(1.0, 3.0), (1.0, 4.0), (1.0, 2.0), (3.0, 4.0), (3.0, 2.0), (4.0,
2.0)]
感谢任何帮助。
你需要RDD.cartesian
.
Return the Cartesian product of this RDD and another one, that is, the RDD of all pairs of elements (a, b) where a is in self and b is in other.
>>> rdd = sc.parallelize([1, 2])
>>> sorted(rdd.cartesian(rdd).collect())
[(1, 1), (1, 2), (2, 1), (2, 2)]
请注意,这 returns 是双向的。希望这对您来说不是问题。
我有一个带有浮点数列表的 RDD:
[1.0, 3.0, 4.0, 2.0]
我想要一个像这样的转换后的 RDD:
[(1.0, 3.0), (1.0, 4.0), (1.0, 2.0), (3.0, 4.0), (3.0, 2.0), (4.0, 2.0)]
感谢任何帮助。
你需要RDD.cartesian
.
Return the Cartesian product of this RDD and another one, that is, the RDD of all pairs of elements (a, b) where a is in self and b is in other.
>>> rdd = sc.parallelize([1, 2])
>>> sorted(rdd.cartesian(rdd).collect())
[(1, 1), (1, 2), (2, 1), (2, 2)]
请注意,这 returns 是双向的。希望这对您来说不是问题。