【发布时间】:2019-07-16 09:53:10
【问题描述】:
如果在大型数据导入作业之间 sqoop 失败会发生什么。它会在作业失败之前将一些数据持久化到 hdfs 上吗?
【问题讨论】:
如果在大型数据导入作业之间 sqoop 失败会发生什么。它会在作业失败之前将一些数据持久化到 hdfs 上吗?
【问题讨论】:
我相信进出口的交易原则相似。
由于 Sqoop 将导出过程分解为多个事务,失败的导出作业可能会导致部分数据被提交到数据库。
在某些情况下,这可能会进一步导致后续作业因插入冲突而失败,或在其他情况下导致重复数据。
解决方案 您可以通过 --staging-table 选项指定一个临时表来解决这个问题,该选项充当用于暂存导出数据的辅助表。暂存数据最终在单个事务中移动到目标表。
【讨论】: