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/
在哪里?在Ubuntu下的本地ext4文件系统中,没有/user/hive/warehouse/
这样的路径。
如何获取有关/user/hive/warehouse/
的信息?
谢谢。
答案 0 :(得分:1)
在运行hive命令之前,应在hdfs文件系统中创建 / user / hive / warehouse 文件夹。
Hive内部使用hadoop hdfs文件系统存储数据库数据。您可以使用以下命令在hive-default.xml和/或hive-site.xml配置文件或hive终端中检查hdfs目录路径
hive> set hive.metastore.warehouse.dir;
如前所述,Hive使用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/