无法在配置单元中创建表

zf9nrax1  于 2021-06-02  发布在  Hadoop
关注(0)|答案(4)|浏览(333)

我运行下面的简单查询来创建一个简单的表。
创建表test(id int,name varchar(20));
但我得到下面的错误,请让我知道需要做什么确切的。
失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddltask返回代码1。元异常(message:file:/user/hive/warehouse/test不是目录或无法创建目录)
我已授予/user/hive/warehouse文件夹的完全读/写权限。

pgvzfuti

pgvzfuti1#

错误信息显示

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

尽管/user和路径的其余部分之间有这样的空间,但file:/意味着hive正在尝试在本地文件系统上创建该目录,而不是在hdfs上。访问配置可能有问题。我要检查hadoop\u conf\u dir环境变量是否正确初始化。

fjnneemd

fjnneemd2#

您的配置单元用户没有在hdfs中创建控制器的权限。每当您创建一个表时,hive都会将一个目录创建到user/hive/warehouse/table中,但在这里它无法将一个目录创建到user/hive/warehouse/中,因此请授予此目录的权限,以允许您的用户创建一个表。
http://www.cloudera.com/documentation/archive/cdh/4-x/4-2-0/cdh4-installation-guide/cdh4ig_topic_18_7.html

8mmmxcuj

8mmmxcuj3#

听起来像是权限问题。下面的“更改模式”命令可能会有所帮助。 hadoop fs -chmod -R 755 /user/hive/warehouse/

qyswt5oh

qyswt5oh4#

对我来说,这个问题和你的(创建内部表)完全一样,与权限无关,但与存储有关,它被100%地使用了。试着检查一下。

相关问题