Неизвестный столбец 'towns.city' в 'списке полей'

неизвестный столбец 'towns.city' в 'списке полей'

sqoop import \
--connect jdbc:mysql://localhost/sivam_db \
--username root \
--password cloudera \
--query 'select cities.city as ccity,normcities.city as ncity from cities full join normcities using(id) where $CONDITIONS' \
--split-by id \
--target-dir /user/duplicatecolumn \
--m 1 \
--boundary-query "select min(id),max(id) from cities" \
--mapreduce-job-name fjoin \
--direct

Я проверил все сообщения, связанные с этой ошибкой, и пробовал тоже, но все еще не решен.

Схема городов:

создавать таблицы городов (id int не ноль auto_increment, страна varchar(30) не ноль,city varchar(30) не ноль, первичный ключ (id));

Схема норм:

создать таблицы норм (id int не ноль auto_increment,country_id int не ноль,city varchar(30) не ноль, первичный ключ (id));

1 ответ

В приведенном выше запросе в команде sqoop выходные данные будут иметь 2 столбца, в которых отображаются названия городов, и это указывается только в операторе выбора, и другие столбцы не извлекаются. Полное объединение дает ошибку, поскольку мы фильтруем только совпадающие названия городов.

так что уберите слово "полный" и запустите комнад.

мы получим вывод.

Другие вопросы по тегам