Sqoop User Guide v1.4.6文档7.2.9.
2018-03-08 本文已影响0人
gregocean
7.2.9 增量导入
Sqoop提供增量导入模式,可以只获取比已导入集合更新的行。
以下参数控制增量导入功能:
表5.增量导入参数:
参数 | 描述 |
---|---|
--check-column (col) | 指定导入数据时要检查的列。(不能是CHAR/NCHAR/VARCHAR/VARNCHAR/ LONGVARCHAR/LONGNVARCHAR类型) |
--incremental (mode) | 指定Sqoop如何决定那行是新的。合法的mode参数包括append和lastmodified |
--last-value (value) | 指定上次导入时check column的最大值 |
Sqoop支持两种增量导入模式:append和lastmodified。你可以用--incremental参数来指定执行增量导入的类型。
append模式适合在导入新行具有连续增加的行id的表时使用。用--check-column来指定包含行id的列。Sqoop导入那些在指定列上具有比--last-value限定的值更大的行。
lastmodified模式是sqoop支持的另一种更新策略。当每个更新的行都会把表示更新信息的列设置为当前时间戳时应该用这个模式。具有比--last-value指定的时间戳更新的check列所在的记录会被导入。
在增量导入操作的最后,下一次导入所需要设定的--last-value值会被打印在屏幕上。当运行下一次导入时你应该指定--last-value为这个值以保证导入新的以及更新的数据。这是通过创建一个增量导入为saved job来自动实现的,这也是进行recurring增量导入的建议机制。更多关于saved job的章节在该文档的后续部分。