我使用Apache Spark数据帧连接两个数据源,并将结果作为另一个数据帧。我想把结果写到另一个Postgres表中。我看到这个选择:

myDataFrame.write.jdbc(url, table, connectionProperties)

但是,我想做的是根据表的主键将数据帧上插到表中。怎么办?我正在使用Spark 1.6.0。

最佳答案

它不受支持。DataFrameWriter可以附加到或覆盖现有表。如果应用程序需要更复杂的逻辑,则必须手动处理。
一个选项是对标准JDBC连接使用操作(foreachforeachPartition)。另一种方法是写入临时数据库并直接处理数据库中的其余部分。

09-15 17:28
查看更多