在通过JDBC从pyspark数据帧插入外部数据库表时,打开DUPLICATE KEY UPDATE

Ric*_*hie 12 apache-spark apache-spark-sql pyspark spark-dataframe pyspark-sql

好吧,我正在使用PySpark并且我有一个Spark数据帧,我使用它将数据插入到mysql表中.

url = "jdbc:mysql://hostname/myDB?user=xyz&password=pwd"

df.write.jdbc(url=url, table="myTable", mode="append")

我想通过列值和特定数字的总和更新列值(不在主键中).

我尝试过不同的模式(追加,覆盖)DataFrameWriter.jdbc()函数.

我的问题是我们如何ON DUPLICATE KEY UPDATE在mysql中更新列值,同时将pyspark数据帧数据插入表中.

Tha*_*Guy 1

解决方法是将数据插入临时表中,然后使用驱动程序执行的 SQL 语句将其迁移到最终表中。您可以使用与您的数据库提供商相关的任何有效 SQL 语法。