代码之家  ›  专栏  ›  技术社区  ›  Bharat Sharma

加入pyspark而不复制列

  •  0
  • Bharat Sharma  · 技术社区  · 7 年前

    [ 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|
    +---+----+
    

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

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

    由于我不懂scala,我无法实现python。 请帮我修好这条蟒蛇。任何其他解决方案都会受到欢迎(不需要硬编码数据帧列)

    1 回复  |  直到 7 年前
        1
  •  1
  •   Chandan Ray    7 年前
    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

    推荐文章