Экспорт Sqoop обновляет только указанные столбцы

#hadoop #sqoop2

#hadoop #sqoop2

Вопрос:

Насколько я знаю, мы можем обновить базу данных, используя аргумент «—udate-key». Который обновляет всю запись для этого ключа. мы можем либо вставить, либо обновить с помощью «—update-mode allowinsert» или «—update-mode updateonly».

Например, у меня есть файл, который состоит из первичного ключа и значений столбца, которые я должен обновить в таблице, где есть и другие столбцы. Мой вопрос в том, можем ли мы обновить этот конкретный столбец без обновления этих других столбцов в таблице? Мы должны указать все столбцы для аргумента —update-key, верно? есть ли какое-либо решение или обходной путь для этого?

Ответ №1:

ДА.
Используя аргументы «—update-key» и «columns». Пример:
$ sqoop export —connect jdbc:mysql://localhost/TGL —username root —password root —table staging —export-dir /sqoop/DB1_Result -m 1 -input-fields-terminated-by «,»
примечание: поле, указанное в ключе обновления, должно быть в аргументе columns