好吧,我正在使用 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 数据帧数据插入表中。
最佳答案
一种解决方法是将数据插入到临时表中,然后使用驱动程序执行的 SQL 语句将其迁移到最终表中。您可以使用与您的数据库提供程序相关的任何有效 SQL 语法。
关于apache-spark - 在通过 JDBC 从 pyspark 数据帧插入到外部数据库表时进行重复键更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32607177/