Sqoop增量作业能否同时使用last-modified与last-value参数?
关于Sqoop增量作业同时指定last-modified和last-value参数的解答
可以,这两个参数不仅不冲突,反而在基于修改时间的增量同步场景下是常用的搭配组合。
参数定位说明
--incremental lastmodified是增量同步的模式声明,告诉Sqoop本次需要基于业务表的最后修改时间字段来筛选增量数据,使用该模式时还需要搭配--check-column参数指定作为判断依据的时间列。--last-value是增量同步的阈值参数,作用是告诉Sqoop本次只同步大于该参数值的新增/修改数据,该参数可以同时适配append(基于自增ID)和lastmodified(基于修改时间)两种增量模式,不属于某一种模式的专属参数。
常规配置示例
sqoop import \ --connect jdbc:mysql://127.0.0.1:3306/your_database \ --username your_username \ --password your_password \ --table your_table \ --incremental lastmodified \ --check-column update_time \ --last-value '2024-05-01 00:00:00' \ --target-dir /user/hive/warehouse/your_table \ --merge-key id \ -m 1
补充说明
上面的示例中,Sqoop会筛选出update_time大于2024-05-01 00:00:00的所有记录。如果你需要覆盖HDFS中已存在的旧版本修改数据,可以加上--merge-key指定主键做合并,最终目录里只会保留每条记录的最新版本。
内容的提问来源于stack exchange,提问作者Priya Chauhan
相关产品推荐
相关产品推荐

