【问题标题】:Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?Pyspark DataFrameWriter jdbc 函数的忽略选项是否忽略整个事务或只是冒犯行?
【发布时间】:2017-07-02 00:25:40
【问题描述】:
Pyspark DataFrameWriter 类有一个 jdbc function 用于将数据帧写入 sql。这个函数有一个--ignore 选项,文档说:
如果数据已经存在,则忽略此操作。
但它会忽略整个事务,还是只会忽略插入重复的行?如果我将--ignore 与--append 标志结合起来会怎样?行为会改变吗?
【问题讨论】:
标签:
mysql
apache-spark
jdbc
pyspark
apache-spark-sql
【解决方案1】:
mode("ingore") 如果表(或另一个接收器)已经存在并且无法组合写入模式,则只是 NOOP。如果您正在寻找 INSERT IGNORE 或 INSERT INTO ... WHERE NOT EXISTS ... 之类的内容,则必须手动进行,例如使用 mapPartitions。