1. 程式人生 > >sqoop增量更新使用問題

sqoop增量更新使用問題

使用sqoop增量更新資料到hive中,使用引數–increment,append為根據遞增列更新資料,lastmodified為根據更新時間進行增量更新,–check-column 指定增量更新的基準列,–last-value為更新比較值。

 sqoop import --connect CONNECTOR --username USERNAME --password PASSWORD --fetch-size 1000\
        -m 1 --check-column $colume --incremental lastmodified --last-value "$time" --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 columeincrementallastmodifiedlastvalue"colume --incremental lastmodified --last-value "time" --append” 要放到查詢條件(–target-dir --query)之前,此處有坑:因為是從全量更新修改成增量更新,所以 --incremental 引數是後加的,開始加在了最後,結果是一直找不到命令,移動到當前位置後能夠正常執行,並且一定要加上–append,或者–merge-key。