Как я могу решить ошибку "файл: / user / hive / warehouse / records не является каталогом или не может его создать"? - PullRequest
0 голосов
/ 14 мая 2019
hive> CREATE TABLE records (year STRING, temperature INT, quality INT)
    > ROW FORMAT DELIMITED
    >   FIELDS TERMINATED BY '\t';
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:file:/user/hive/warehouse/records is not a directory or unable to create one)

Как я могу устранить ошибку?

где находится /user/hive/warehouse/?В моих локальных файловых системах ext4 под Ubuntu такого пути нет /user/hive/warehouse/.

Как я могу получить информацию о, например, изучить /user/hive/warehouse/?

1 Ответ

1 голос
/ 14 мая 2019

Вы должны создать папку / user / hive / warehouse в файловой системе hdfs перед запуском команд куста.

Hive внутренне использует файловую систему hadoop hdfs для хранения данных базы данных. Вы можете проверить путь к каталогу hdfs в файле конфигурации hive-default.xml и / или hive-site.xml или в терминале hive, используя следующую команду

hive> set hive.metastore.warehouse.dir;

Как уже упоминалось, Hive использует Hadoop, поэтому

  • Hadoop должен быть установлен и запущен
  • Должна быть установлена ​​переменная окружения HADOOP_HOME

    export HADOOP_HOME=hadoop-install-dir

    export PATH=$PATH:$HADOOP_HOME/bin

  • Необходимо создать каталоги в файловой системе hdfs и предоставить доступ к кусту

    hadoop fs -mkdir -p /tmp

    hadoop fs -mkdir -p /user/hive/warehouse

    hadoop fs -chmod g+w /tmp

    hadoop fs -chmod g+w /user/hive/warehouse

Для просмотра каталогов в файловой системе hdfs

hadoop fs -ls /user
hadoop fs -ls /
hadoop fs -ls /user/hive/ 

Hive Wiki page

...