基于多个列的Spark Join 2数据框

时间:2020-06-18 15:42:50

标签: scala dataframe apache-spark

我有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" )

IS提供了一种使用map中的值动态创建联接条件的方法。

1 个答案:

答案 0 :(得分:0)

您可以使用

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

如果您以前从df2重命名了列,因为列的两侧都必须存在。