我正在尝试使用df.Write.jdbc将Spark Dataframe 写入到PostgreSQL表中。问题是,我希望确保不会丢失表中已有的数据(使用SaveMode.Append),但也要确保避免插入已插入其中的重复数据。1.因此,如果我使用保存模式。覆盖:-表将丢失所有以前的数据1.如果我使用保存模式。追加:
有什么办法可以解决这个问题吗?谢谢
wgeznvg71#
我所做的是过滤掉现有记录,这意味着额外的读取以获取现有ID,并对要追加的数据执行Fitler操作。但它为我做了这件事。我认为在这篇文章中有一个更复杂的解决方案:https://medium.com/@thomaspt748/how-to-upsert-data-into-a-relational-database-using-apache-spark-part-1-python-version-b43b9761bbf2可能很晚了,但刚刚开始了。
1条答案
按热度按时间wgeznvg71#
我所做的是过滤掉现有记录,这意味着额外的读取以获取现有ID,并对要追加的数据执行Fitler操作。但它为我做了这件事。
我认为在这篇文章中有一个更复杂的解决方案:
https://medium.com/@thomaspt748/how-to-upsert-data-into-a-relational-database-using-apache-spark-part-1-python-version-b43b9761bbf2
可能很晚了,但刚刚开始了。