如何在sqoop中为增量数据指定多个列?

cnjp1d6j  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(310)

我使用以下查询在sqoop中获取增量数据-

bin/sqoop job --create JOB_NAME -- import  --connect jdbc:oracle:thin:/system@HOST:PORT:ORACLE_SERVICE --username USERNAME --password-file /PASSWORD_FILE.txt --fields-terminated-by ',' --enclosed-by '"'  --table SCHEMA.TABLE_NAME --target-dir /TARGET_DIR -m 2 --incremental append --check-column NVL(UPDATE_DATE,INSERT_DATE) --last-value '2019-01-01 00:00:00.000'  --split-by PRIMARY_KEY --direct

它在--check columns参数中引发多列错误。
有没有办法在--check column参数中指定多列?
我想获取数据,如果update\u date字段包含空值,那么它应该在insert\u date列的基础上获取数据。
我想从每天更新的表中提取事务记录,如果第一次插入这些记录,那么updated\u date列中就没有值。这就是为什么我需要在从表中获取数据时比较这两列。
任何有关这方面的帮助将不胜感激。

7fhtutme

7fhtutme1#

据我所知,在执行增量导入时,不可能有两个检查列,因此我们唯一能够做到这一点的方法是使用两个单独的导入:
以插入日期作为第一次记录检查列的增量导入
以更新列作为更新记录的检查列的增量导入

相关问题