2015-05-27 14 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命令更好地保證您在運行時。