2016-01-20 43 views
3

我有一個配置單元表的列名稱比平常長。我提到了表格定義的配置單元Metastore。這是它的外觀:如何更改Hive表中列名的長度?

DESCRIBE hive.columns_v2; 

輸出:

Name  || Null  || Type   
----------- -------- -------------- 
CD_ID  || NOT NULL || NUMBER   
COMMENT  ||   || VARCHAR2(256) 
COLUMN_NAME || NOT NULL || VARCHAR2(128) 
TYPE_NAME || NOT NULL || VARCHAR2(4000) 
INTEGER_IDX || NOT NULL || NUMBER(10) 

我可以看到定義爲128個字節VARCHAR2的列名。是否存在可以改變此值的配置單元Metastore設置?

更新: 請參閱此票問題已清楚解釋。 https://issues.apache.org/jira/browse/HIVE-9815

這個想法是改變MAX_STRING_SIZE在數據庫本身設置爲EXTENDED。但是這會弄亂數據庫上的其他許多東西。

對此的任何解決方法?

回答

0

這可能會實現:

ALTER TABLE TABLE_NAME CHANGE [COLUMN] col_old_name col_new_name COLUMN_TYPE [COMMENT col_comment] [FIRST |列名後]

實施例:

CREATE TABLE TABLE_NAME(一個INT,B int,c int);

//將列a的名稱更改爲a1 ALTER TABLE table_name CHANGE a a1 INT;