我有一个hive表,其列名比平时长。我提到了表定义的hive Metastore。这是它的外观:
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)
我可以看到column_name被定义为128字节的varchar2。是否有蜂巢样环设置我可以改变这个值?
更新 请参阅此票证,其中已明确说明问题。 https://issues.apache.org/jira/browse/HIVE-9815
想法是将MAX_STRING_SIZE更改为数据库本身设置为EXTENDED。但这会搞砸数据库上的很多其他东西。
对此有任何解决方法吗?
答案 0 :(得分:0)
这可能有效:
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST | AFTER column_name]
示例:
CREATE TABLE table_name(int,b int,c int);
//将列a的名称更改为a1 ALTER TABLE table_name CHANGE a a1 INT;