HCatalog - Modificar tabla

Este capítulo explica cómo alterar los atributos de una tabla, como cambiar el nombre de la tabla, cambiar los nombres de las columnas, agregar columnas y eliminar o reemplazar columnas.

Declaración de alteración de la tabla

Puede utilizar la instrucción ALTER TABLE para modificar una tabla en Hive.

Sintaxis

La declaración toma cualquiera de las siguientes sintaxis según los atributos que deseamos modificar en una tabla.

ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

Algunos de los escenarios se explican a continuación.

Cambiar nombre a ... Declaración

La siguiente consulta cambia el nombre de una tabla de employee a emp.

./hcat –e "ALTER TABLE employee RENAME TO emp;"

Declaración de cambio

La siguiente tabla contiene los campos de employee tabla y muestra los campos a cambiar (en negrita).

Nombre del campo Convertir de tipo de datos Cambiar nombre de campo Convertir a tipo de datos
eid En t eid En t
nombre Cuerda esmalte Cuerda
salario Flotador salario Doble
designacion Cuerda designacion Cuerda

Las siguientes consultas cambian el nombre del nombre de la columna y el tipo de datos de la columna utilizando los datos anteriores:

./hcat –e "ALTER TABLE employee CHANGE name ename String;"
./hcat –e "ALTER TABLE employee CHANGE salary salary Double;"

Declaración de adición de columnas

La siguiente consulta agrega una columna llamada dept al employee mesa.

./hcat –e "ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');"

Reemplazar declaración

La siguiente consulta elimina todas las columnas de la employee tabla y la reemplaza con emp y name columnas -

./hcat – e "ALTER TABLE employee REPLACE COLUMNS ( eid INT empid Int, ename STRING name String);"

Declaración de Drop Table

Este capítulo describe cómo colocar una tabla en HCatalog. Cuando quita una tabla de la tienda de metadatos, elimina los datos de la tabla / columna y sus metadatos. Puede ser una tabla normal (almacenada en metastore) o una tabla externa (almacenada en el sistema de archivos local); HCatalog trata a ambos de la misma manera, independientemente de su tipo.

La sintaxis es la siguiente:

DROP TABLE [IF EXISTS] table_name;

La siguiente consulta descarta una tabla llamada employee -

./hcat –e "DROP TABLE IF EXISTS employee;"

En la ejecución exitosa de la consulta, puede ver la siguiente respuesta:

OK
Time taken: 5.3 seconds