ltne 发表于 2015-12-21 23:03:26

sqoop1.4.6 从hdfs像mysql导入数据,参数--update-mode allowinsert 不更新,只insert

我首先从hdfs导入mysql数据,然后修改一下mysql中的数据,比如id:1 name:王武修改为id:1 name:张三,
然后--update-mode allowinsert 结果就直接添加了,结果为
id:1 name:张三
id:1 name:王武
allowinsert 应该是更新才对,为什么会添加了呢??
PS:--update-key id

tntzbzc 发表于 2015-12-22 11:49:48

楼主可以说的更详细些,下面供楼主参考

使用update方式导入,已存在的记录更新,不存在的插入新的(注意大小写):
sqoop export   -D oracle.sessionTimeZone=CST --connect jdbc:oracle:thin:@192.168.78.6:1521:hexel \
--username TRX --password trx --table SQOOP_UPDATE--fields-terminated-by'\t' \
--export-dir/user/root/sqoop_update/ -m 1--update-key ID --update-mode allowinsert \
--input-null-string '\\N'--input-null-non-string '\\N'

ltne 发表于 2015-12-22 22:50:30

谢谢,解决啦,最初建立数据库表的时候因为只是测试,没有设定主键,设定后就可以啦

dajie 发表于 2017-10-29 23:07:39

ltne 发表于 2015-12-22 22:50
谢谢,解决啦,最初建立数据库表的时候因为只是测试,没有设定主键,设定后就可以啦

多谢,解决了我的问题。
页: [1]
查看完整版本: sqoop1.4.6 从hdfs像mysql导入数据,参数--update-mode allowinsert 不更新,只insert