2016-12-30 8 views
0

Я пытаюсь подготовить свой экзамен CCA175. Я пытаюсь импортировать базу данных mysql retail_db в hive, но получаю эту ошибку. Я пробовал несколько раз, а также удалял каталоги/файлы из этих папок;Sqoop/Hive для CCA175: получение стола AlreadyExistsException

/user/hive/warehouse 
/user/cloudera 

Тем не менее, я получаю эту ошибку при слежении, после выполнения этой sqoop работы:

sqoop import-all-tables \ 
--num-mappers 1 \ 
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \ 
--username=retail_dba \ 
--password=cloudera \ 
--hive-import \ 
--hive-overwrite \ 
--create-hive-table \ 
--compress \ 
--compression-codec org.apache.hadoop.io.compress.SnappyCodec \ 
--outdir java_files 

Logging инициализируется с использованием конфигурации в баночки: файл:/USR/банки/улья здравом 1.1.0-cdh5.7.0.jar! /hive-log4j.properties FAILED: Ошибка выполнения, код возврата 1 из org.apache.hadoop.hive.ql.exec.DDLTask. AlreadyExistsException (сообщение: Таблица категории уже существует)

Любая помощь будет высоко оценен.

+0

Добавьте '--verbose' в конце своей команды и скажите мне команду таблицы создания улья, сгенерированную до этой ошибки. В идеале он должен удалить таблицу Hive, поскольку используется переписывание –

ответ

0

Кажется, что у вас уже есть таблица категорий в базе данных по умолчанию улья. Вам нужно отбросить таблицы из Hive. Ниже приведены шаги:

  1. Войти на MySQL и проверить, как много таблиц делает retail_db состоит из .

    mysql> use retail_db; 
    mysql> show tables; 
    
  2. Войти на улей и проверить, какие таблицы из retail_dba (MySQL) существуют? Капли-таблицы, которые существуют в улье. В вас случае, его категории

    hive> show tables; 
    
    hive> drop table categories; 
    
  3. Перейдите Cloudera домой и проверить, делаете ли вы уже есть каталоги, соответствующие этим таблицам. Поскольку в качестве части Sqoop import to Hive данные временно копируются на HDFS под/user/cloudera/перед перемещением в хранилище хранилища. Для примера проверьте каталог.

    [[email protected] /]$ hadoop fs -ls /user/cloudera/categories 
    
+0

удалять таблицы из db по умолчанию в улье ИЛИ создавать новую базу данных в улье и использовать '--hive-database ' в sqoop job для импорта таблиц в конкретной базе данных о кустах! –

0

Удалить --create-улей стол из команды sqoop.

Согласно документации sqoop, задание завершится неудачно, если таблица с тем же именем уже существует.

--create-hive-table Если установлено, то задание завершится неудачно, если выйдет целевой улей . По умолчанию это свойство ложно.

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

  • Нет связанных вопросов^_^