Как я могу использовать составные ключи в «экспорте sqoop» для обновления записей? - PullRequest
0 голосов
/ 30 апреля 2018

Я использую команду sqoop export для удаления (обновления и вставки) записей на сервере Oracle SQL из куста. Для этого я использую следующую команду в hadoop:

hadoop jar sqoop-job-launcher-0.0.1.jar com.myclass.sqoop.SqoopLauncher sqoop export --connect 'SQLconnectionString' --table 'SQLtableName' --update-mode allowinsert --update-key roll --hcatalog-database 'HiveDatabaseName' --hcatalog-table 'hiveTableName' --input-null-string null

Приведенная выше команда работает нормально, когда используется только первичный ключ («roll» - это первичный ключ выше). Но если мне нужно обновить записи в SQL с помощью набора ключей, таких как «name, roll», как это можно сделать?

1 Ответ

0 голосов
/ 30 апреля 2018

Начиная с sqoop 1.4.0, можно указать разделенный запятыми список как udate_key: https://issues.apache.org/jira/browse/SQOOP-313

Используйте concat(name,roll) для более старых версий или создайте дополнительный синтетический PK в таблице.

...