一、增量數據的導入
1、兩種方式
## query 有一個唯一標識符,通常這個表都有一個字段,類似於插入時間createtime where createtime => 20150924000000000 and createtime < 20150925000000000 ##sqoop參數 Incremental import arguments: --check-column <column> Source column to check for incremental change --incremental <import-type> Define an incremental import of type 'append' or 'lastmodified' --last-value <value> Last imported value in the incremental check column
2、用sqoop參數增量導入的方式
##
bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--target-dir /user/root/sqoop/imp_my_incr \
--num-mappers 1 \
--incremental append \
--check-column id \
--last-value 4
#--incremental append //追加方式
#--check-column //檢查的字段
#--last-value //最后的值,不包含這個值,從這個值后面的開始導入
##
[root@hadoop-senior hadoop-2.5.0-cdh5.3.6]# bin/hdfs dfs -text /user/root/sqoop/imp_my_incr/part-m-00000
5,test,test
6,pudong,pudong
7,qiqi,qiqi
二、direct參數
直接導出模式(優化速度);
使用的是關系數據庫自帶的導入導出工具;
##
bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--target-dir /user/root/sqoop/imp_my_incr \
--num-mappers 1 \
--delete-target-dir \
--direct