在没有重复列的情况下加入pyspark

时间:2018-09-07 06:34:14

标签: apache-spark pyspark

这是对scala中针对线程的解决方案的引用 [How to avoid duplicate columns after join?

>> a.show
+---+----+
|key|val|
+---+----+
|  a|   1|
|  b|   2|
+---+----+

>>> b.show
+---+----+
|key|val|
+---+----+
|  a|   11|
+---+----+

预期产量

>>> 
+---+----+
|key|val|
+---+----+
|  a|   1|
+---+----+

因此,当“键”在“ a”和“ b”上都匹配时,我必须从数据帧“ a”中获取数据

scala中提供的解决方案之一正在工作,如下所示

scala> a.join(b, a("key") === b("key"), "left").select(a.columns.map(a(_)) : _*).show

由于我在scala中没有知识,因此我无法实现这是python。 请帮助我修复此python。任何其他解决方案将不胜感激(无需对数据帧进行硬编码)

1 个答案:

答案 0 :(得分:1)

val a = sc.parallelize(Seq(("a","1"),("b","2"))).toDF("key","value")
a.show

val b = sc.parallelize(Seq(("a","11"))).toDF("key","value")
b.show

a.join(b, a("key") === b("key"), "leftsemi").show

enter image description here