2016-09-15 2 views
1

Я бегу под простым запросом, чтобы создать простую таблицу.Невозможно создать таблицу в Hive

создать тест таблицы (id int, имя varchar (20));

Но я получаю следующую ошибку, пожалуйста, сообщите, что нужно делать в точности.

FAILED: ошибка выполнения, код возврата 1 из org.apache.hadoop.hive.ql.exec.DDLTask. MetaException (сообщение: файл/пользователь /ульи/склад/тест не является каталог или не создать)

Я дал полный доступ на чтение/запись в/пользователе/​​ульи/папку хранилища.

+0

Я предполагаю, что это просто проблема отображения на SO, но проверьте, содержит ли фактическое сообщение об ошибке пространство между/пользователя и/улей/склад/тест –

ответ

6

У вашего пользователя улья нет разрешения на создание директора в hdf. Всякий раз, когда вы создаете таблицу, куст будет делать каталог в User/hive/store/table, но здесь он не может создать каталог в user/hive/storage /, поэтому дайте разрешение этому каталогу, чтобы ваш пользователь мог создать таблицу.

http://www.cloudera.com/documentation/archive/cdh/4-x/4-2-0/CDH4-Installation-Guide/cdh4ig_topic_18_7.html

+0

и если уже дают разрешение так что проверить путь, который вы указываете как hive.metastore.warehouse.dir в своем hive-site.xml –

0

сообщение об ошибке говорит

file:/user /hive/warehouse/test". 

Несмотря на это пространство между/пользователем и остальной частью пути, файла:/ означает, что улей пытается создать эту директорию на вашем локальная файловая система вместо hdfs. Вероятно, существует проблема с доступом к конфигурации. Я бы проверял, что переменная среды HADOOP_CONF_DIR правильно инициализирована.

1

Звучит как проблема с разрешениями. Может помочь команда режима изменения ниже.

hadoop fs -chmod -R 755 /user/hive/warehouse/

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