Как указать несколько столбцов для дополнительных данных в Sqoop? - PullRequest
1 голос
/ 20 марта 2019

Я использую следующий запрос для извлечения дополнительных данных в 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 нет значения. Вот почему мне нужно сравнивать оба столбца при извлечении данных из таблицы.

Любая помощь по этому вопросу будет принята с благодарностью.

1 Ответ

1 голос
/ 20 марта 2019

Насколько я понимаю, не похоже, что при инкрементальном импорте можно иметь 2 проверочных столбца, поэтому единственный способ, которым мы можем добиться этого, - это 2 отдельных импорта:

  1. Инкрементальный импорт с проверочной колонкой «Вставить дату в первый раз» записи
  2. Добавочный импорт с обновленным столбцом в качестве контрольного столбца. для ОБНОВЛЕННЫХ записей
...