我在简单查询下运行以创建一个简单的表。
create table test(id int,name varchar(20));
但我收到以下错误,请让我们知道需要做些什么。
FAILED:执行错误,返回代码1 org.apache.hadoop.hive.ql.exec.DDLTask。 MetaException(消息:文件:/用户 / hive / warehouse / test不是目录或无法创建目录
我已经给/ user / hive / warehouse文件夹提供了完全的读/写权限。
答案 0 :(得分:5)
您的配置单元用户没有将创建控制器的权限转换为hdfs。无论何时创建表,hive都会在User / hive / warehouse / table中创建一个目录但是在这里它无法在user / hive / warehouse /中创建一个目录,所以给这个目录赋予权限以允许你的用户创建一个表。
答案 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%使用。尝试检查是否相同。