使用PySpark,我正在更新一个MySQL表。架构对多个三个字段具有唯一的键约束。
我的星火作业将每天运行三次,因为唯一键的一个列部分是'date‘。如果我每天运行一次以上的作业,我将得到一个唯一的键约束违反错误。
有没有从星火中删除已经存在的行并插入新行的方法?
我在网上寻找解决方案,但找不到任何解决方案。
发布于 2018-09-27 19:29:03
您应该更新数据库端的表。我的建议是在MySQL数据库中创建一个临时表,而火花作业以覆盖模式将数据插入到临时表中。
使用临时表为表编写MySQL更新脚本。并在星火作业之后添加作业链,以运行MySQL更新脚本。
发布于 2018-09-27 17:07:33
假设使用df.writer,目前不存在任何UPSert模式。
https://stackoverflow.com/questions/52536747
复制相似问题