2014-01-23 88 views
2
hive> alter table my_table_name set location "hdfs://nameservice1/foo"; 
OK 
Time taken: 0.173 seconds 
hive> alter table my_table_name set location "hdfs://nameservice1/foo/bar"; 
Authorization failed:org.apache.hadoop.security.AccessControlException: action WRITE not permitted on path hdfs://nameservice1/foo for user hadoop_user. Use show grant to get more details. 

從上面的屏幕輸出中可以看出,alter table位置在外部表格上正好工作了一次,隨後引發了一個錯誤。 請諮詢我如何才能讓alter table location語句正常工作。Hive alter location statement not working

回答

2

我想出了錯誤並修復了它。 問題是,在創建表的過程中,我將它的位置設置爲hdfs上不存在的路徑。所以當我試圖改變它的位置時,它不允許我這樣做。

解析: 我首先創建了表格當前指向的目錄,然後創建了我想要將表格指向的目錄。然後,alter table位置語句按需要工作。

0

我認爲最好是使用腳本來檢查使用

hdfs fs -ls /// 

,然後調用beeline與蜂巢終端上的外部腳本

0

以下命令

alter table FpML_Data set location hdfs:/file_path_in_HDFS; 

運行HDFS:是針對core-site.xml中的fs.defaultFS屬性的值。

回覆我的意見,如果在任何查詢的情況下...