2016-09-15 47 views
1

我在簡單查詢下運行以創建一個簡單的表。無法在Hive中創建表

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

但是我得到了下面的錯誤,請讓我們知道需要做什麼。

FAILED:執行錯誤,從 org.apache.hadoop.hive.ql.exec.DDLTask返回代碼1。 MetaException(消息:文件:/用戶 /蜂巢/倉儲/測試不是一個目錄或無法創建一個)我已經給到/用戶/蜂巢/倉庫文件夾的完全讀/寫訪問

+0

我認爲它只是對SO的顯示問題,但檢查實際的錯誤消息是否還包含/用戶/蜂巢/倉儲/測試 –

回答

6

您的配置單元用戶沒有創建導演到hdfs的權限。無論何時你創建一個表,配置單元都會將一個目錄放到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

+0

如果已經給予權限,以便檢查之間的空間您在hive-site.xml中指定爲hive.metastore.warehouse.dir的路徑 –

0

錯誤消息說

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

儘管/用戶和路徑的其餘部分之間的空間,文件:/意味着蜂房正試圖以創建一個目錄中本地文件系統而不是hdfs。訪問配置可能存在問題。我會檢查HADOOP_CONF_DIR環境變量是否正確初始化。

1

聽起來像一個權限問題。下面的更改模式命令可能有所幫助。

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