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 是双向的。希望这对您来说不是问题。