使用spark jdbc write 数据到tidb ,有概率出现主键重复报错

自定义jdbc写入是什么意思? 怎么自定义,可以给个例子么,我现在是这样写的

df.write
  .mode(SaveMode.Append)
  .jdbc(url, table, connectionProperties)