¿Hay alguna forma de alterar el tipo de columna en la tabla de la colmena?


El esquema actual es:

hive> describe tableA;
OK
id      int
ts      timestamp

Quiero cambiar la columna ts para que sea BIGINT sin dejar caer la tabla y volver a crear. Es posible?

Author: staticor, 2013-07-06

3 answers

Encontró la solución:

ALTER TABLE tableA CHANGE ts ts BIGINT AFTER id;

Vea esto para detalles completos: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterColumn

 44
Author: interskh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-05 22:02:24
ALTER TABLE table_name CHANGE col_name col_name newType
 21
Author: Animesh Raj Jha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-04 20:11:52

Normalmente es simple cambiar/modificar la tabla de exesting usando esta sintaxis en el subárbol.

ALTER TABLE table_name CHANGE old_col_name new_col_name new_data_type

Aquí puede cambiar el nombre de la columna y el tipo de datos a la vez. Si no desea cambiar col_name simplemente hace old_col_name y new_col_name son iguales. Ok.

Ven a tu problema. Si desea cambiar la columna ts para ser BIGINT.It significa tipo de columna que está cambiando. así que simplemente ejecute esta consulta.

ALTER TABLE tableA CHANGE ts ts BIGINT;

Aquí ts y ts son iguales, significa que no está cambiando el nombre de la columna, pero cambiar el tipo de columna; si desea cambiar el nombre de la columna también simplemente ejecútelo.

ALTER TABLE tableA CHANGE ts new_col BIGINT;

Ahora ejecuta

hive> describe tableA;
OK
id      int
new_col      bigint
 8
Author: Venu A Positive,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-18 09:17:58