2016-01-20 4 views
3

У меня есть таблица улья, где имена столбцов длиннее обычного. Я назвал метастор улья для определения таблицы. Вот как это выглядит:Как изменить длину имени столбца в таблице 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) 

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

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

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

Любые обходные пути к этому?

ответ

0

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

ALTER TABLE имя_таблицы CHANGE [COLUMN] col_old_name col_new_name COLUMN_TYPE [К.П col_comment] [ПЕРВЫЙ | ПОСЛЕ column_name]

Пример:

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

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

Смежные вопросы