【问题标题】:Spark join 2 dataframe based on multiple columns基于多列的 Spark join 2 数据帧
【发布时间】:2020-10-08 17:47:57
【问题描述】:

我有 2 个数据框 df1 和 df2。我在地图中定义了这些数据框的连接条件。但是连接列名称不同。

我知道我可以这样做, val df3 = df2.join(df1, df2("col1") <=> df1("col5") && df2("col2") <=> df1("col6") && df2("col3") <=> df1("col7") && df2("col4") <=> df1("col8"), "left" )

有没有办法使用地图中的值动态创建连接条件。

【问题讨论】:

    标签: scala dataframe apache-spark


    【解决方案1】:

    你可以使用

    val df3 = df2.join(df1, Seq("col5", "col6", "col7", "col8"), "left")
    

    如果您之前重命名了 df2 中的列,因为列必须存在于两侧。

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 2018-04-06
      • 2020-05-01
      • 2021-07-09
      相关资源
      最近更新 更多