相关疑难解决方法(0)

spark - scala - 使用覆盖模式将数据帧保存到表中

我想知道这里究竟是什么"覆盖".假设我在表"tb1"中有一个包含以下记录的表(对于表的错误表示感到抱歉)

司机vin制作模型

martin abc ford escape
john abd toyota camry
amy abe chevrolet malibu
carlos abf honda civic
Run Code Online (Sandbox Code Playgroud)

现在我有以下数据帧(mydf)具有相同的列但具有以下行/数据

martin abf toyota corolla
carlos abg nissan versa
Run Code Online (Sandbox Code Playgroud)

在使用覆盖模式将上述数据帧保存到"tb1"之后,数据帧是否会完全删除"tb1"的内容并写入mydf的数据(以上两个记录)?

但是,我希望覆盖模式仅覆盖列"driver"具有相同值的那些行.在这种情况下,"tb1"中有4条记录,mydf只会覆盖2条以上的记录,结果表格如下 -

司机vin制作模型

martin abf toyota corolla
john abd toyota camry
amy abe chevrolet malibu
carlos abg nissan versa
Run Code Online (Sandbox Code Playgroud)

我可以使用覆盖模式实现此功能吗?

mydf.write.mode(SaveMode.Overwrite).saveAsTable("tb1")
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

apache-spark ×1

scala ×1