Colmena – Alterar mesa

Hive nos proporciona la funcionalidad para realizar alteraciones en las tablas y bases de datos. El comando ALTER TABLE se puede utilizar para realizar modificaciones en las tablas. Podemos modificar varios números de propiedades asociadas con el esquema de la tabla en Hive. La alteración en la tabla modifica o cambia sus metadatos y no afecta los datos reales disponibles dentro de la tabla. En general, cuando cometimos algunos errores al crear la estructura de la tabla, usamos ALTER TABLE para cambiar las características del esquema. Podemos realizar múltiples operaciones con el esquema de la tabla, como cambiar el nombre de la tabla, agregar la columna, cambiar o reemplazar el nombre de la columna, etc. 

Para realizar la siguiente operación, asegúrese de que su colmena esté funcionando. A continuación se muestran los pasos para iniciar una colmena en su sistema local.

Paso 1: Inicie todo su Hadoop Daemon

start-dfs.sh                    # this will start namenode, datanode and secondary namenode
start-yarn.sh                   # this will start node manager and resource manager  
jps                             # To check running daemons

Paso 2: Inicie Hive desde la terminal

hive

Hagamos una demostración de tabla con un atributo demo_name de tipo string en la colmena (por defecto, la colmena crea tablas en su base de datos predeterminada si no se especifica).

CREATE TABLE IF NOT EXISTS demo (
demo_name STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','; 

Realicemos una por una cada una de las operaciones que podemos realizar con ALTER TABLE.

1. Cambiar el nombre del nombre de la tabla

ALTER TABLE con RENAME se usa para cambiar el nombre de una tabla ya existente en la colmena.

Sintaxis:

ALTER TABLE <current_table_name> RENAME TO <new_table_name>;

Dominio:

Cambiemos el nombre de nuestra tabla de la demostración al cliente .

ALTER TABLE demo RENAME TO customer;

En la imagen de arriba podemos observar que el nombre de nuestra tabla ha cambiado a cliente

2. AGREGAR columnas

Sintaxis:

ALTER TABLE <nombre_tabla> ADD COLUMNS (<nombre-col> <tipo-datos> COMMENT ”, <nombre-col> <tipo-datos> COMMENT ”, ….. )

Dominio:

Agreguemos una columna de contacto a la tabla de clientes que hemos obtenido después de cambiar el nombre de la demostración

ALTER TABLE cliente AGREGAR COLUMNAS ( contacto BIGINT COMENTARIO ‘Almacenar el número de contacto del cliente’);

Podemos describir la tabla para ver sus propiedades con el siguiente comando.

DESCRIBE customer;

Hemos agregado con éxito la columna de contacto a la tabla de clientes .

3. CAMBIAR Columna

CHANGE en ALTER TABLE se usa para cambiar el nombre o el tipo de datos de una columna o atributo existente.

Sintaxis: 

ALTER TABLE <table_name> CHANGE <column_name> <new_column_name> <new_data_type>;

Dominio: 

Cambiemos el atributo demo_name a customer_name .

ALTER TABLE customer CHANGE demo_name customer_name STRING; 

4. Columna REEMPLAZAR

El REEMPLAZO con ALTER TABLE se usa para eliminar todas las columnas existentes de la tabla en Hive. Los atributos o columnas que se agregan en la declaración ALTER TABLE REPLACE se reemplazarán con las columnas anteriores.

Sintaxis:

ALTER TABLE <table_name> REPLACE COLUMNS (
<attribute_name> <data_type>,
<attribute_name> <data_type>,
.
.
.
);

Por ejemplo, en nuestra tabla de clientes, tenemos 2 atributos nombre_cliente y contacto. Si queremos eliminar el atributo de contacto , la consulta debería ser como se muestra a continuación.

Dominio:

ALTER TABLE customer REPLACE COLUMNS (
customer_name STRING
);

Debemos mencionar la columna que queremos.

En la imagen de arriba, podemos observar que hemos soltado con éxito el contacto de la columna . Hive no tiene ninguna declaración DROP para colocar columnas dentro de la tabla. Tenemos que usar REEMPLAZAR si queremos eliminar una columna en particular.

Publicación traducida automáticamente

Artículo escrito por dikshantmalidev y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *