2016-07-15 68 views
0

我正在嘗試在Hive環境中創建表並將其指向S3中的外部位置。 當我嘗試: 創建表x(鍵int,值字符串)位置's3/...' 它運作良好。 但是,當我嘗試: '創建外部表作爲從字母表位置's3/...' 選擇x,y,z它不會運行。有沒有辦法將表創建爲select語句並將其存儲在外部位置?在配置單元中創建外部表作爲指向s3存儲桶的選擇查詢

回答

0

您可以使用select語句創建託管表並將表屬性更新爲External。

ALTER TABLE <table name> SET TBLPROPERTIES('EXTERNAL'='TRUE') 

寫SELECT查詢的輸出到一個位置

INSERT OVERWRITE DIRECTORY ‘/myDirectory’ 
    SELECT * FROM PARAGRAPH; 

CREATE EXTERNAL TABLE <table name> LOCATION '/myDirectory' 
+0

使用第一個選項,如何將一個指定的外部位置?雖然第二個選項可以達到目的。謝謝! – Disha

+0

使用第一個選項,它創建一個指向默認配置單元位置的外部表(配置單元/倉庫/ /

)。由於數據和metedata是分離的,它仍然是一個外部表。如果刪除表格,數據將不會被刪除。 – Munesh

相關問題