Вы можете использовать режим lastmodified
для пошагового импорта Sqoop.
Режим append
(используемый в вашем примере) используется для импорта строк на основе увеличения значений идентификатора строки.Таким образом, при выполнении задания оно будет импортировать строки, в которых --check-column
(т. Е. id
) больше --last-value
(т. Е. 0
).Если строка обновляется, id
обычно не изменяется, а обновленная строка не импортируется.
Режим lastmodified
используется для импорта строк на основе столбца метки времени (например,last_modified_time
).Когда задание выполняется, оно импортирует строки, в которых --check-column
более поздний, чем указано в --last-value
.Запись приложения в таблицу должна обновлять столбец last_modified_time
при вставках и обновлениях.Таким образом, как новые, так и обновленные строки будут импортированы при выполнении задания Sqoop.
Пример вызова на основе вашего примера с режимом lastmodified
будет выглядеть следующим образом:
sqoop job --create myjob2 -- import --connect jdbc:mysql://host/DBnam -username user -password passwor --table savingssmal --check-column last_update_time --incremental lastmodified --last-value "2018-02-03 04:38:39.0" --target-dir /user/xxxx/prac/sqoop --as-parquetfile -m 1