Как изменить длину имени столбца в таблице 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)   

Я вижу имя_столбца, определенное как varchar2 из 128 байт. Есть ли настройка хранилища метаданных улья, где я могу изменить это значение?

Обновление: обратитесь к этой заявке, где четко объяснена проблема. https://issues.apache.org/jira/browse/HIVE-9815

Идея состоит в том, чтобы изменить MAX_STRING_SIZE на EXTENDED в самой базе данных. Но это испортит много других вещей в базе данных.

Любые обходные пути для этого?


person trips    schedule 20.01.2016    source источник


Ответы (1)


Это может сработать:

ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|ПОСЛЕ column_name]

Пример:

CREATE TABLE имя_таблицы (a int, b int, c int);

// изменит имя столбца a на a1 ALTER TABLE table_name CHANGE a a1 INT;

person Sohil Shivani    schedule 06.03.2017