Spark 1.6.2:DropDuplicates给出了意想不到的结果

时间:2016-11-18 04:25:12

标签: jdbc apache-spark dataframe

我使用dropDuplicates方法删除数据框中A列和B列的重复条目。我将结果数据帧保存到空的sql表中,主键位于A列和B列。有时,新数据帧在A列和B列上有重复值

newdf = df.dropDuplicates(Seq("A", "B"))
newdf.write.mode("append").jdbc(url,table,prop) 

因此,在插入表格时,我得到 java.sql.BatchUpdateException:重复条目异常

不是删除重复期望删除A列和B列上的所有重复条目以及如何在try catch下使用批处理操作,这样如果一个批处理操作失败,则其他批处理操作将转发而不是使整个作业失败。

1 个答案:

答案 0 :(得分:1)

dropDuplicates从当前数据集中删除重复项,但您使用append编写器模式。无法保证数据集不包含表中已有的重复数据。