我在簡單查詢下運行以創建一個簡單的表。無法在Hive中創建表
create table test(id int,name varchar(20));
但是我得到了下面的錯誤,請讓我們知道需要做什麼。
FAILED:執行錯誤,從 org.apache.hadoop.hive.ql.exec.DDLTask返回代碼1。 MetaException(消息:文件:/用戶 /蜂巢/倉儲/測試不是一個目錄或無法創建一個)我已經給到/用戶/蜂巢/倉庫文件夾的完全讀/寫訪問
。
我在簡單查詢下運行以創建一個簡單的表。無法在Hive中創建表
create table test(id int,name varchar(20));
但是我得到了下面的錯誤,請讓我們知道需要做什麼。
FAILED:執行錯誤,從 org.apache.hadoop.hive.ql.exec.DDLTask返回代碼1。 MetaException(消息:文件:/用戶 /蜂巢/倉儲/測試不是一個目錄或無法創建一個)我已經給到/用戶/蜂巢/倉庫文件夾的完全讀/寫訪問
。
您的配置單元用戶沒有創建導演到hdfs的權限。無論何時你創建一個表,配置單元都會將一個目錄放到User/hive/warehouse/table中,但是在這裏它不能創建一個目錄到user/hive/warehouse /中,因此給這個目錄權限以允許你的用戶創建一個表。
如果已經給予權限,以便檢查之間的空間您在hive-site.xml中指定爲hive.metastore.warehouse.dir的路徑 –
錯誤消息說
file:/user /hive/warehouse/test".
儘管/用戶和路徑的其餘部分之間的空間,文件:/意味着蜂房正試圖以創建一個目錄中本地文件系統而不是hdfs。訪問配置可能存在問題。我會檢查HADOOP_CONF_DIR環境變量是否正確初始化。
聽起來像一個權限問題。下面的更改模式命令可能有所幫助。
hadoop fs -chmod -R 755 /user/hive/warehouse/
我認爲它只是對SO的顯示問題,但檢查實際的錯誤消息是否還包含/用戶/蜂巢/倉儲/測試 –