Sqoop增量导入

Sqoop增量导入

发表: 2016-10-14 浏览: 990

Sqoop 增量导入

注:若需转载,请注明出处!

Sqoop导出视频请参考:https://edu.hellobi.com/course/93/lessons  (Sqoop增量导入部分)

 

1、核心参数

–check-column,用来指定一些列,这些列在导入时用来检查做决定数据是否要被作为增量数据,在一般关系型数据库中,都存在类似Last_Mod_Date的字段或主键。注意:这些被检查的列的类型不能是任意字符类型,例如Char,VARCHAR…(即字符类型不能作为增量标识字段) 
–incremental,用来指定增量导入的模式(Mode),append和lastmodified 
–last-value,指定上一次导入中检查列指定字段最大值

2、增量模式(Mode)

1、append,在导入的新数据ID值是连续时采用,对数据进行附加 
2、lastmodified,在源表中有数据更新的时候使用,检查列就必须是一个时间戳或日期类型的字段,更新完之后,last-value会被设置为执行增量导入时的当前系统时间

1、 Append

加不加–last-value的区别在于:数据是否冗余,如果不加,则会导入源表中的所有数据导致数据冗余。

2、 Lastmodified

当使用–incremental lastmodified模式进行导入且导入目录已存在时,需要使用–merge-key或–append 
导入>=last-value的值。

3、示例

sqoop import --connect jdbc:mysql://centos:3306/sqooptest --table bigdata --username root --password 123456 --check-column last_mod_ts --incremental lastmodified --last-value "2016-10-03 22:39:43" --merge-key class_id -m 1
原文地址:https://www.cnblogs.com/Bighua123/p/7719031.html