无法在Hive中创建表

时间:2016-09-15 06:27:20

标签: hadoop hive hiveql

我在简单查询下运行以创建一个简单的表。

  

create table test(id int,name varchar(20));

但我收到以下错误,请让我们知道需要做些什么。

  

FAILED:执行错误,返回代码1   org.apache.hadoop.hive.ql.exec.DDLTask。 MetaException(消息:文件:/用户   / hive / warehouse / test不是目录或无法创建目录

我已经给/ user / hive / warehouse文件夹提供了完全的读/写权限。

4 个答案:

答案 0 :(得分:5)

您的配置单元用户没有将创建控制器的权限转换为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

答案 1 :(得分:1)

听起来像权限问题。下面的更改模式命令可能有所帮助。

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

答案 2 :(得分:0)

错误消息显示

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

尽管/ user和路径的其余部分之间存在空间, file:/ 表示Hive正在尝试在本地文件系统上而不是hdfs上创建该目录。访问配置可能存在问题。我会检查HADOOP_CONF_DIR环境变量是否已正确初始化。

答案 3 :(得分:0)

对我来说,该问题与您的问题(创建内部表)完全一样,与许可无关,但与存储有关,已100%使用。尝试检查是否相同。