使用sqoop增量更新数据到hive中,使用参数–increment,–check-column 指定增量更新的基准列,–last-value为更新比较值。
sqoop增量更新有两种模式,append和lastmodified,其中,append为根据递增列更新数据,lastmodified为根据更新时间进行增量更新。
1、append模式
append模式比较简单,只需要指定一个自增列即可,比如id,还需要设置一个基准值,比如100,那么增量导入时只会导入id大于100的记录。
sqoop import --connect CONNECTOR --username USERNAME --password PASSWORD --fetch-size 1000\
-m 1 --check-column id --incremental append --last-value 100 --append --target-dir dir \
--query "select * from table_name where condition" \
--fields-terminated-by "\\01" \
--hive-drop-import-delims \
--null-string '\\N'\
--null-non-string '\\N'
“–check-column id --incremental append --last-value 100” 要放到查询条件(–target-dir --query)之前。
2、lastmodified模式
lastmodified模式可以指定根据时间进行增量更新,同时也可以分为两种方式:–append和**–merge-key**。
增量导入数据除以上3个参数外,还必须添加 --append或者–merge-key参数指