如何在 PySpark 中连接两个 RDD?

How to join two RDD's in PySpark?

我无法找到加入 PySpark 中的 RDD 以实现预期结果的正确方法。

Here is the first RDD:
+------+---+
|    _1| _2|
+------+---+
|Python| 36|
|     C|  6|
|    C#|  8|
+------+---+

Here is the second RDD:
+------+---+
|    _1| _2|
+------+---+
|Python| 10|
|     C|  1|
|    C#|  1|
+------+---+

Here is the result I want:
+------+---+---+
|    _1| _2| _3|
+------+---+---+
|Python| 36| 10|
|     C|  6|  1|
|    C#|  8|  1|
+------+---+---+

我已经尝试了两个 RDD 之间的各种 .join().union() 变体,但无法正确处理,将不胜感激!

使用RDD
rdd1 = sc.parallelize([('python', 36), ('c', 6), ('c#', 8)])
rdd2 = sc.parallelize([('python', 10), ('c', 1), ('c#', 1)])
rdd1.join(rdd2).map(lambda x: (x[0], *x[1])).toDF().show()
+------+---+---+
|    _1| _2| _3|
+------+---+---+
|python| 36| 10|
|     c|  6|  1|
|    c#|  8|  1|
+------+---+---+
有DF
df1 = rdd1.toDF(['c1', 'c2'])
df2 = rdd2.toDF(['c1', 'c3'])
rdd3 = df1.join(df2, on=['c1'], how='inner').rdd