2016-12-24 4 views
-1

Я импортировал таблицы базы данных MySQL в Hive, используя инструмент sqoop, используя нижеприведенный скрипт.Sqoop импортирует все таблицы, не синхронизирующиеся с базой данных Hive

sqoop import-all-tables --connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" --username=retail_dba --password=cloudera --hive-import --hive-overwrite --create-hive-table --warehouse-dir=/user/hive/warehouse/ 

, но когда я проверяю базу данных в улье, нет retail.db.

+0

Добавить --verbose флаг и проверить журналы sqoop – leftjoin

+0

проверить в базе данных 'default'. Вы видите все таблицы из базы данных retail_db? –

+0

@dev ツ да iam умеет видеть – developer

ответ

-1

Ваша команда sqoops все в этой директории: /user/hive/warehouse/retail.db/

Чтобы импортировать в улей использовать этот аргумент: --hive-import и почему вы используете --as-textfile?

Если вы хотите сохранить в качестве текстового файла, используйте --as-textfile, а затем используйте команду таблицы внешних таблиц для создания внешних таблиц в Hive.

+1

Что говорят журналы? –

+0

его импорт всех таблиц, но который я вернусь к улью, чтобы проверить, показывает не базу данных – developer

+0

проверить 'show tables'? 'показывать базы данных'? –

0

Если вы хотите импортировать все таблицы в конкретную базу данных улья (уже созданный). Использование:

--hive-database retail

в вашей команде sqoop.

0

, как DEV сказал, что если вы хотите sqoop все в той или иной дб затем использовать

--hive-базы данных retail_db остальное каждые таблицы будут sqooped под склад по умолчанию директории/имя_таблицы

Смежные вопросы