忽略Pyspark DataFrameWriter jdbc函数的选项忽略整个事务还是只是违规行?

时间:2017-02-13 21:27:00

标签: mysql apache-spark jdbc pyspark apache-spark-sql

Pyspark DataFrameWriter类有一个jdbc function用于将数据帧写入sql。该函数有一个--ignore选项,文档说明:

  

如果数据已存在,请静默忽略此操作。

但是它会忽略整个事务,还是只会忽略插入重复的行?如果我要将--ignore--append标志组合,该怎么办?这种行为会改变吗?

1 个答案:

答案 0 :(得分:3)

如果表(或另一个接收器)已经存在并且无法组合写入模式,则

mode("ingore")只是NOOP。如果您要查找INSERT IGNOREINSERT INTO ... WHERE NOT EXISTS ...之类的内容,则必须手动执行此操作,例如使用mapPartitions