使用DataFrameWriter使用JDBC编写数据帧时如何捕获异常

时间:2016-09-12 18:40:59

标签: scala apache-spark apache-spark-sql

我正在将数据帧写入MySQL数据库。数据库正在抛出java.sql.BatchUpdateException: Duplicate entry 'qwer1234' for key 'transaction_id_UNIQUE'

我用来写入数据库的代码是

txnsDF.write.mode("append").jdbc(connProp.getProperty("url"), query, connProp)

现在我无法真正编写一个try catch,因为它不在行级别,并且在org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils类中查看批量1000一次交易。

我可以删除数据库上的约束,但这并没有真正解决我处理来自此类的异常的问题。

我的最后一个选择是,在JdbcUtils中部分重写savePartition方法来处理异常,我真的不想这样做。有什么建议吗?

0 个答案:

没有答案