sqoop 底层运行的其实是map 任务,默认4个map
如果4个map中有两个map失败了,但是另外两个是成功的。这个时候导入进mysql中的数据是不正确的,重新再导一次全部任务都成功,这两次的数据会不一致。
为了保证导出的时候数据是一致的sqoop有两个参数配合使用
sqoop 导出时并不会自动创建表
需要自己手动创建,如果使用这两个参数的话还有创建一个结构一样的 表名_temp的mysql表
sqoop会先把数据导入进这张临时表中,所有任务都成功了。才会在mysql 中把临时表中的数据导入到真正的表中
sql server 导出时没有提供这个功能
–staging-table mysql表名_tmp \
–clear-staging-table \