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

问题描述 投票:1回答:1

我正在使用以下查询来获取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_DATE字段包含空值,那么它应该在INSERT_DATE列的基础上获取数据。

我想从每天更新的表中提取事务记录,如果第一次插入记录,则UPDATED_DATE列中没有值。这就是我需要在从表中获取数据时比较两列的原因。

任何有关这方面的帮助将非常感谢。

hadoop sqoop data-migration
1个回答
1
投票

根据我的理解,在进行增量导入时看起来不可能有2个检查列,因此我们设法完成此操作的唯一方法是使用2个单独的导入:

  1. 增量导入,插入日期作为第一次记录的检查列
  2. 使用更新列进行增量导入,作为UPDATED记录的检查列
© www.soinside.com 2019 - 2024. All rights reserved.