Я использую версию sqoop sqoop-1.4.6.bin__hadoop-0.23.
Я импортирую данные Oracle, и для этого я создал дополнительные задания sqoop.
Я использую следующий запрос для создания задания sqoop: -
sqoop job --create JOB_NAME -- import --connect jdbc:oracle:thin:/system@HOST:PORT:SERVICE --username USERNAME --password-file /PWD_FILE.password --fields-terminated-by ',' --enclosed-by '"' --table USERNAME.TABLE_NAME --target-dir /TARGET_DIR -m 1 --incremental append --check-column DT_COLUMN --last-value '2019-01-01 00:00:00.000' --split-by PRIMARY_KEY --null-string "" --null-non-string ""
Я создал еще 15 заданий sqoop для импорта дополнительных данных таблиц оракула.
И явыполнение 3 заданий sqoop одновременно означает, что три задания sqoop будут выполняться параллельно с одним сопоставителем каждое.
В течение первых 10-15 дней все было в порядке, и задания выполнялись успешно, но после этого некоторые задания sqoop не выполнялись.сохраняя последнее значение в его метаданных, и они каждый раз импортировали повторяющиеся данные.
Вот журналы: -
журналы за 5 мая -
19/05/05 01:37:10 INFO tool.ImportTool: Lower bound value:
TO_TIMESTAMP('2019-04-26 21:25:19.0', 'YYYY-MM-DD HH24:MI:SS.FF')
19/05/05 01:37:10 INFO tool.ImportTool: Upper bound value:
TO_TIMESTAMP('2019-05-04 21:25:25.0', 'YYYY-MM-DD HH24:MI:SS.FF')
журналы за май6-е
19/05/06 01:37:34 INFO tool.ImportTool: Lower bound value:
TO_TIMESTAMP('2019-04-26 21:25:19.0', 'YYYY-MM-DD HH24:MI:SS.FF')
19/05/06 01:37:34 INFO tool.ImportTool: Upper bound value:
TO_TIMESTAMP('2019-05-05 21:25:23.0', 'YYYY-MM-DD HH24:MI:SS.FF')
In these logs you can see it is using '2019-04-26 21:25:19.0' as lower bound value for each import means daily I'll be getting duplicate data.
Теперь я хотел бы знать, сталкиваюсь ли я с этой проблемой из-за параллельного выполнения заданий sqoop?
Если да, то как мне решить эту проблему?
Примечание. Я не использую никакое внешнее хранилище метаданных для sqoop.
Любая помощь по этому вопросу будет высоко оценена.
Спасибо