sqoop增量导入--lastmodified模式

在sqoop增量导入--append模式中,我们介绍了sqoop的增量导入的常用参数以及append增量导入模式,本文章将讲述sqoop的辣条modified增量导入模式,多常用参数不了解的请参考sqoop--append增量导入模式.

sqoop增量导入--lastmodified模式

我们有一张表user数据如下:

idnameagetime_mod
1张三182020-05-05 22:41:00
2李四202020-05-05 22:41:03

首先,我们使用全量导入将数据导入到hdfs中

bin/sqoop import \
--connect jdbc:mysql://localhost:3306:/test \
--username root --password 123456 \
--table user --m 1 \
--target-dir /sqoop/test

之后,我们修改表中的数据后,time_mod也将发生改变,表中的数据改为:

idnameagetime_mod
1张三202020-05-05 22:43:40
2李四202020-05-05 22:41:03
3王五222020-05-05 22:43:55

 

注意,该表增加的一条记录,并且修改了id为1的记录,id为1 的记录的time_mod也发生了改变,这时候,使用lastmodified进行增量导入

bin/sqoop import \
--connect jdbc:mysql://localhost:3306/test \
--username root --password 123456 \
--table user --m 1 \
--target-dir /sqoop/test \
--check-column time_mod \
--incremental lastmodified \
--last-value '2020-05-05 22:42:00 \
--append

这时候会在hdfs的/sqoop/test文件夹下生成一个新的文件,文件中会有两条记录,一条是新增的记录,另一条是修改后的数据,在全量导入生成的文件中有修改前的数据

注意:这个时候的--append和append模式不同,此处的append代表lastmodified模式下的append类型,可选值有append | merge-key

如果将上面的--append换成--merge-key id ,hdfs上不会生成新文件,而是生成一个经过reduce合并的总文件,文件里是修改后的老数据和新增数据,这里是根据id进行合并

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值