将每个元素视为元组时在 PySpark 中加入 2 RDD
join 2 RDD in PySpark when treating every element as a tuple
我不知道如何准确描述它,但是示例是:
给出两个RDD:
x = sc.parallelize([("a", 1), ("b", 4)])
y = sc.parallelize([("a", 2), ("c", 8)])
,我想得到结果:
[(("a", 1), ("a", 2)), (("a", 1), ("c", 8)), (("b", 4), ("a", 2)), (("b", 4), ("c", 8))]
PySpark document 中的 join
转换似乎不适用于此示例。
所以我想问一下我可以用什么样的变换来得到预期的结果?谢谢!
阅读 spark document 后,我找到了一种解决方法:
x.cartesian(y)
由于 RDD 有一些模仿 SQL 的操作,SparkContext.union() 不就是您要找的吗?
我不知道如何准确描述它,但是示例是:
给出两个RDD:
x = sc.parallelize([("a", 1), ("b", 4)])
y = sc.parallelize([("a", 2), ("c", 8)])
,我想得到结果:
[(("a", 1), ("a", 2)), (("a", 1), ("c", 8)), (("b", 4), ("a", 2)), (("b", 4), ("c", 8))]
PySpark document 中的 join
转换似乎不适用于此示例。
所以我想问一下我可以用什么样的变换来得到预期的结果?谢谢!
阅读 spark document 后,我找到了一种解决方法:
x.cartesian(y)
由于 RDD 有一些模仿 SQL 的操作,SparkContext.union() 不就是您要找的吗?