使用pyspark dataframes和jdbc插入和更新mysql表

aor9mmx1  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(775)

我正在尝试使用pysparksqlDataframe和jdbc连接在mysql上插入和更新一些数据。
我使用savemode.append成功地插入了新数据。有没有办法从pysparksql更新现有数据并在mysql表中插入新数据?
我要插入的代码是: myDataFrame.write.mode(SaveMode.Append).jdbc(JDBCurl,mySqlTable,connectionProperties) 如果我改为savemode.overwrite,它会删除完整的表并创建一个新表,我会在mysql中寻找类似“on duplicate key update”的内容
在此方面的任何帮助都将不胜感激。

nhhxz33t

nhhxz33t1#

在中创建视图 Mysql 作为 create view <viewName> as select ...<tableName> 在mysql中创建触发器,以便在插入后使用-

CREATE TRIGGER trigger_name
    AFTER INSERT
    ON <viewName> FOR EACH ROW
BEGIN
    -- statements
    -- INSERT ... ON DUPLICATE KEY UPDATE Statement
END$$

参考-https://www.mysqltutorial.org/mysql-triggers/mysql-after-insert-trigger/
写入要查看的数据 <viewName> 从Spark

相关问题