相关疑难解决方法(0)

spark:合并两个数据帧,如果两个数据帧中的ID重复,df1中的行覆盖df2中的行

有两个数据帧:df1 和 df2 具有相同的架构。ID 是主键。

我需要合并两个 df1 和 df2。这可以通过union除了一个特殊要求来完成:如果 df1 和 df2 中存在具有相同 ID 的重复行。我需要将那个保留在 df1 中。

df1:

ID col1 col2
1  AA   2019
2  B    2018
Run Code Online (Sandbox Code Playgroud)

df2:

ID col1 col2
1  A    2019
3  C    2017
Run Code Online (Sandbox Code Playgroud)

我需要以下输出:

df1:

ID col1 col2
1  AA   2019
2  B    2018
3  C    2017
Run Code Online (Sandbox Code Playgroud)

这该怎么做?谢谢。我认为可以注册两个 tmp 表,进行完全连接并使用coalesce. 但我不喜欢这种方式,因为实际上大约有 40 列,而不是上面示例中的 3 列。

scala dataframe apache-spark apache-spark-sql

2
推荐指数
1
解决办法
1547
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1

dataframe ×1

scala ×1