我尝试使用增量导入,但我必须指定append或lastmodified。我需要所有更改,包括修改记录和新记录。
问问题
268 次
1 回答
1
您的理解在这里是部分正确的。
根据文档,
Sqoop 支持的另一种表更新策略称为 lastmodified 模式。当源表的行可能被更新时,您应该使用它,并且每次这样的更新都会将 last-modified 列的值设置为当前时间戳。导入检查列包含的时间戳比使用 --last-value 指定的时间戳更新的时间戳的行。
(重点是我的)
现在让我们试着用一个例子来理解这一点,
我有一张桌子,里面employees
有name
,salary
和updated_on
字段。样本记录:
name |salary | updated_on
dev | 2000 | 2016-01-01
现在一些员工的工资在下个月发生了变化,一些新员工在那个月加入了。
现在在您的 Sqoop 导入命令中,您将指定--check-column updated_on
,--incremental lastmodified
和--last-value "2016-01-01"
.
在此之后添加或更新的所有记录--last-value
都将被导入。
于 2016-08-24T19:17:00.630 回答