我有一个带有浮点数列表的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
返回此RDD与另一个RDD的笛卡尔积,即所有元素对(a, b)的RDD,其中a在self中,b在other中。
>>> rdd = sc.parallelize([1, 2])
>>> sorted(rdd.cartesian(rdd).collect())
[(1, 1), (1, 2), (2, 1), (2, 2)]
注意,这会在两个方向上返回对。