如何使用sqoop加载和更新不断变化的数据?

qybjjes1  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(405)

我尝试了增量导入,但必须指定append或lastmodified。我需要所有的更改,包括修改过的和新的记录。

1mrurvl1

1mrurvl11#

你的理解在这里部分是正确的。
根据文件,
sqoop支持的另一种表更新策略称为lastmodified模式。当源表的行可能被更新时,您应该使用这个选项,并且每次这样的更新都会将上次修改的列的值设置为当前时间戳。如果check列所保存的时间戳比用--last值指定的时间戳更近,则导入这些行。
(重点是我的)
现在让我们用一个例子来理解这一点,
我有一张table employeesname , salary 以及 updated_on 领域。样品记录:

name |salary | updated_on

dev  | 2000  | 2016-01-01

现在一些员工的工资在下个月发生了变化,一些新员工在那个月加入了。
现在在sqoop import命令中,您将指定 --check-column updated_on , --incremental lastmodified 以及 --last-value "2016-01-01" .
在此之后添加或更新的所有记录 --last-value 将导入。

相关问题