2017-10-18 65 views
0

我有沒有table1分區鍵,我想創建一個table2,用相同的模式table1,但設置一列「datestr」作爲分區鍵。我如何編寫CREATE TABLE LIKE查詢來執行此操作?蜂巢CREATE TABLE LIKE其他表集分區鍵

table1: 

datestr, userID, transaction, balance 




table2 (set datestr as partition key): 

datestr, userID, transaction, balance 

回答

0

CREATE TABLE LIKE DDL不支持設置分區

我相信你可以執行CTAS查詢像這樣

Create table table2 (userID INT, transaction STRING, balance DECIMAL) 
Partitioned by (datestr STRING) 
as 
select userID, transaction, balance, datestr 
From table1; 

當然添加相應的列類型

+0

的東西是事務是一個「數組結構」和「許多其他嵌套結構和數組的數組」巨型類型。我只是不能擴展模式...有沒有一種方法來分配分區鍵,而不必指定類型? – daydayup

+0

我假設'datestr'是一個字符串。 Hive可以很好地處理結構和數組......你並沒有對它們進行分區,但是你必須指定它們來創建任何表,分區或不分區 –

+0

另外,你可以從另一個字面上複製SHOW CREATE TABLE命令表,然後爲新表添加分區,然後執行一個'INSERT INTO' –