2015-05-27 15 views
3

我试图在Hadoop 2.6.0上使用Hive 1.2.0。我创建了一个employee表。然而,当我运行以下查询:Hadoop Hive无法将源移动到目标

hive> load data local inpath '/home/abc/employeedetails' into table employee; 

我得到以下错误:

Failed with exception Unable to move source file:/home/abc/employeedetails to destination hdfs://localhost:9000/user/hive/warehouse/employee/employeedetails_copy_1 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask 

错误我在做的是什么?有没有我需要设置的特定权限?提前致谢!

回答

3

正如力拓提到的,这个问题涉及缺少权限将数据加载到蜂巢表。我计算出以下命令可以解决我的问题:

hadoop fs -chmod g+w /user/hive/warehouse 
3

查看权限的HDFS目录:

hdfs dfs -ls /user/hive/warehouse/employee/employeedetails_copy_1 

好像你可能没有权限将数据加载到蜂巢表。

0

错误可能是由于本地文件系统的权限问题。

更改本地文件系统权限:

sudo chmod -R 777 /home/abc/employeedetails 

现在,运行:

hive> load data local inpath '/home/abc/employeedetails' into table employee; 
0

如果我们面临同样的错误运行在分布式模式下的命令后,我们可以尝试在所有节点的所有超级用户下面cammand。 sudo usermod -a -G hdfs yarn 注意:我们在重新启动YARN的所有服务(在AMBARI中)后出现此错误。我的问题已得到解决。这是admin命令更好地保证您在运行时。