Передача параметра даты в sqoop import в таблицу Hive - PullRequest
0 голосов
/ 09 января 2019

Я импортирую набор таблиц из базы данных Oracle в Hive с помощью оператора импорта sqoop следующим образом:

sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter = true" --connect CONNECTIONSTRING --table TABLENAME --username USERNAME --password ПАРОЛЬ --hive-import --hive-drop-import-delims - -hive-overwrite --hive-table HIVE_TABLE_NAME1 --null-string '\ N' --null-non-string '\ N' -m 1

и я использую следующее ключевое слово столбца проверки в этом операторе sqoop для добавочной нагрузки:

- контрольный столбец COLUMN_NAME - инкрементный последний измененный --last-value HARDCODED_DATE

Я проверил это, и оно прекрасно работает, но я хочу изменить это так, чтобы оно было динамичным, и мне не нужно было жестко кодировать дату в выражении, и я могу просто передать ее в качестве параметра, чтобы он проверял указанный столбец и получает все данные после этой даты. Я понимаю, что дата должна быть передана из другого файла, но я не совсем уверен, какой должна быть структура файла и как он будет ссылаться на этот оператор sqoop. Любая помощь или руководство будет принята с благодарностью. Заранее спасибо!

1 Ответ

0 голосов
/ 17 января 2019

Вы можете использовать задание sqoop для того же.

Используя задание sqoop, вы должны применить last-value как 0, он будет импортировать и обновлять данные в задании, поэтому вам нужно будет только запускать sqoop-job --exec <> каждый раз, он будет обновлять данные без какого-либо жестко закодированное значение.

sqoop job create <<job_name>> -- import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" --connect <<db_url>> --table <<db_name>> --username <<username>> --password <<password>> --hive-import --hive-drop-import-delims --hive-overwrite --hive-table <<hive_table>> --null-string '\N' --null-non-string '\N' -m 1 --incremental lastmodified --check-column timedate --last-value 0

sqoop job --exec <<job_name>>

Для более подробной информации посетите https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_literal_sqoop_job_literal

...