Импорт подмножества столбцов из РСУБД в таблицу Hive с помощью Sqoop - PullRequest
0 голосов
/ 24 сентября 2018

Предположим, у нас есть база данных mysql lastdb с таблицей person.Эта таблица содержит 4 столбца: id, firstname, lastname, age.

Строки внутри person таблицы:

1, Firstname, Lastname, 20

Я хочу импортировать данные из этой таблицы mysql person в таблицу кустов с той же структурой, но только из первого и последнего столбца таблицы person.Поэтому после моего импорта строки в таблице кустов должны выглядеть следующим образом:

1, NULL, NULL, 20

Я пробовал эту команду sqoop:

sqoop import --connect jdbc:mysql://localhost:3306/lastdb --table person --username root --password pass --hive-import --hive-database lastdb --hive-table person --columns id,age

Но он импортирует строки в таблицу кустов в следующем формате: 1, 20, NULL, NULL

Может кто-нибудь сказать мне, как это исправить?

1 Ответ

0 голосов
/ 25 сентября 2018

Учитывая, что строки в вашей таблице MySQL имеют id, firstname, lastname, age значений: 1, NULL, NULL, 20, тогда, выполнение сценария импорта sqoop, приведенного ниже, даст желаемый результат в таблице hive person.

~]$ sqoop import \
--connect \
jdbc:mysql://localhost:3306/lastdb \
--username=root \
--password=pass \
--query 'select * from person WHERE $CONDITIONS' \
--hive-import \
--hive-table person \
--hive-database lastdb \
--target-dir  /user/hive/warehouse/person -m 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...