2012-05-21 20 views
0

我有一張包含大量數據的表。調用這個表A.我想創建一個外部表(比如表B),它有來自表A的某些列的數據。我嘗試使用'create table as'(CTAS),但得到的錯誤是CTAS不能與外部表一起工作。我該如何做這個簡單的工作?使用Hive中另一個表中的數據填充外部表

回答

1

只需將表A中的所有內容插入到表B中,選擇要複製的列即可。假設你已經得到表A,它應該是這個樣子:

CREATE EXTERNAL TABLE table_b 
(column_one type, column_three type) 
LOCATION 'location_you_need_to_give'; 

INSERT OVERWRITE TABLE table_b 
SELECT (column_one, column_three) FROM table_a; 

凡column_one和column_three是從要複製表-A列,location_you_need_to_give是外部位置(一個HDFS路徑,或S3路徑,如果你使用亞馬遜彈性地圖減少),你希望table_b存儲數據。

相關問題