1、核心参数
–check-column:用来指定一些列,这些列在导入时候检查是否被作为增量数据;
**注意:**被检查的列的类型不能是任意字符类型,例如Char,VARCHAR…
(即字符类型不能作为增量标识字段)
–incremental:用来指定增量导入的模式Mode
,分为两种:append和lastmodified
**–last-value:**指定上一次导入中检查列指定字段最大值,一般是用时间
2、增量模式(Model)
-
append:在导入的新数据
ID
值是连续时采用,对数据进行附加;如果不加lastvalue
,则原表中的所有数据都会进行增量导入,导致数据的冗余。 -
**lastmodified:**在源表中有数据更新的时候使 用,检查列就必须是一个时间戳或日期类型的字段,更新完之后,
last-value
会被设置为执行增量导入时的当前系统时间
3、demo
1 | sqoop import \ |
4、append和lastmodified
append模式
1 | sqoop import \ |
如果不加last-value,导入的是会把原表中的整个数据进行导入,出现数据的重复,造成数据的冗余
采用增量导入,必须使用三个参数
- check-column
- incremental
- last-value
lastmodified模式
-
当导入的目录存在时,需要使用
—merge-key
或者—append
参数- 需要保留历史变更信息,使用
append
追加 - 不需要保留重复信息,使用
merge—key
进行合并
- 需要保留历史变更信息,使用
-
导入的是
>= last-value
的值
1 | sqoop import \ |