我在简单查询下运行以创建一个简单的表。无法在Hive中创建表
create table test(id int,name varchar(20));
但是我得到了下面的错误,请让我们知道需要做什么。
FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 MetaException(消息:文件:/用户 /蜂巢/仓储/测试不是一个目录或无法创建一个)我已经给到/用户/蜂巢/仓库文件夹的完全读/写访问
。
我在简单查询下运行以创建一个简单的表。无法在Hive中创建表
create table test(id int,name varchar(20));
但是我得到了下面的错误,请让我们知道需要做什么。
FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 MetaException(消息:文件:/用户 /蜂巢/仓储/测试不是一个目录或无法创建一个)我已经给到/用户/蜂巢/仓库文件夹的完全读/写访问
。
您的配置单元用户没有创建导演到hdfs的权限。无论何时你创建一个表,配置单元都会将一个目录放到User/hive/warehouse/table中,但是在这里它不能创建一个目录到user/hive/warehouse /中,因此给这个目录权限以允许你的用户创建一个表。
如果已经给予权限,以便检查之间的空间您在hive-site.xml中指定为hive.metastore.warehouse.dir的路径 –
错误消息说
file:/user /hive/warehouse/test".
尽管/用户和路径的其余部分之间的空间,文件:/意味着蜂房正试图以创建一个目录中本地文件系统而不是hdfs。访问配置可能存在问题。我会检查HADOOP_CONF_DIR环境变量是否正确初始化。
听起来像一个权限问题。下面的更改模式命令可能有所帮助。
hadoop fs -chmod -R 755 /user/hive/warehouse/
我认为它只是对SO的显示问题,但检查实际的错误消息是否还包含/用户/蜂巢/仓储/测试 –