sqoop增量导数据

sqoop要实现增量导入参数到hive或者hdfs

1.需要在mysql中创建可以自动更新的字段,当插入数据时和更新数据时改字段自动更新,如图中update_time,当数据插入时会记录更新为插入时间,数据更新时会更新为数据更新时的时间

 `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据更新时间'

sqoop增量导数据

2.数据导入需要指定3个关键的参数

sqoop增量导数据

sqoop import  -Dhadoop.security.credential.provider.path=jceks://hdfs/user/password/xiaopengfei  --connect "jdbc:mysql://172.16.12.210:3306/CLTransportBusinessDB2018?tinyInt1isBit=false&useUnicode=true&characterEncoding=utf-8" --username 517bigdata  --password-alias xiaopengfei  --table SaleOrderInfo201804     --check-column ModifyTime --incremental append  --last-value "2018-04-01 00:00:10"  --split-by  SaleOrderID  -m 2 --escaped-by '\'   --null-string '\N' --null-non-string '\N'   --fields-terminated-by '^'    --target-dir "/user/hive/travelfirst/cltransportbusiness/saleorderinfo/month=201804"

说明:

--check-column  指定根据那个字段增量导入 ModifyTime 

--incremental  指定增量导入的 方式 append 

--last-value  指定上次增量导入时的值  如:"2018-04-01 00:00:10"