Как мы можем удалить дубликаты записей из postgres при записи в postgres с помощью pyspark

#apache-spark #pyspark #apache-spark-sql

Вопрос:

Я планирую свою работу spark(запись в postgresdb) с использованием воздушного потока, сталкиваясь с проблемой дублирования записей во время записи. Как я могу избежать дублирования?

  query.write 
.format("jdbc") 
.option("url", URL) 
.option("dbtable", "tagpool_tag_raw") 
.option("user", USER) 
.option("password", PW) 
.option("driver", DRIVER) 
.save(mode='append')
 

Ответ №1:

вы можете добавить dropDuplicates() перед записью.

 query.dropDuplicates() 
.write 
.format("jdbc") 
.option("url", URL) 
.option("dbtable", "tagpool_tag_raw") 
.option("user", USER) 
.option("password", PW) 
.option("driver", DRIVER) 
.save(mode='append')