Reestructuración de datos rebeldes con Hadoop

HadoopHadoopBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En una galaxia lejana, el tiránico Imperio Galáctico ha sometido innumerables planetas, explotando sus recursos y oprimiendo a sus poblaciones. La líder rebelde, Princesa Leia, ha estado coordinando una rebelión contra el Imperio, pero sus fuerzas están muy superadas en número y armamento. Para dar vuelta la coyuntura de la guerra, Leia debe analizar grandes cantidades de datos de inteligencia para identificar las debilidades del Imperio y planificar ataques estratégicos.

El objetivo de este laboratorio es ayudar a Princesa Leia y la Alianza Rebelde a utilizar el poder de Hadoop Hive para administrar y manipular grandes conjuntos de datos, específicamente aprendiendo cómo modificar tablas existentes de Hive. Al dominar esta habilidad, Leia puede reestructurar eficientemente sus bases de datos de inteligencia, lo que le permitirá descubrir información crucial y obtener una ventaja estratégica contra el Imperio.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/describe_tables("Describing Tables") hadoop/HadoopHiveGroup -.-> hadoop/alter_tables("Altering Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/update_data("Updating Data") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") subgraph Lab Skills hadoop/hive_shell -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/manage_db -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/create_tables -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/describe_tables -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/alter_tables -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/load_insert_data -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/update_data -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} hadoop/storage_formats -.-> lab-288956{{"Reestructuración de datos rebeldes con Hadoop"}} end

Crea una tabla de ejemplo

En este paso, crearemos una tabla de ejemplo de Hive con la que trabajar. Esta tabla almacenará información sobre varios planetas de la galaxia, incluyendo sus nombres, poblaciones y recursos.

Primero, cambia al usuario hadoop ejecutando el siguiente comando en tu terminal:

su - hadoop

Ahora, inicia la interfaz de línea de comandos (CLI) de Hive ejecutando el siguiente comando:

hive

Dentro de la CLI de Hive, crea una nueva base de datos llamada rebel_intel:

CREATE DATABASE rebel_intel;

Utiliza la base de datos rebel_intel:

USE rebel_intel;

Crea una nueva tabla llamada planets con el siguiente esquema:

CREATE TABLE planets (
    planet_id INT,
    planet_name STRING,
    population BIGINT,
    resources ARRAY<STRING>
)
CLUSTERED BY (planet_id) INTO 2 BUCKETS
STORED AS ORC
TBLPROPERTIES ('transactional'='true');

Esta tabla tiene cuatro columnas: planet_id (un entero para el ID del planeta), planet_name (una cadena para el nombre del planeta), population (un entero grande para la población del planeta) y resources (un arreglo de cadenas que representan los recursos del planeta).

Sale de la CLI de Hive escribiendo exit;.

Agrega datos a la tabla

En este paso, llenaremos la tabla planets con algunos datos de ejemplo. Estos datos representan la información recopilada por la Alianza Rebelde sobre varios planetas de la galaxia.

Inicia nuevamente la CLI de Hive:

hive

Utiliza la base de datos rebel_intel:

USE rebel_intel;

Inserta algunos datos de ejemplo en la tabla planets:

INSERT INTO planets VALUES
    (1, 'Alderaan', 2000000000, array('Agriculture', 'Energy')),
    (2, 'Tatooine', 200000, array('Mining')),
    (3, 'Hoth', 0, array('None')),
    (4, 'Endor', 30000, array('Forestry', 'Hunting')),
    (5, 'Bespin', 6000000, array('Gas Mining', 'Tourism'));

Esto inserta cinco filas de datos en la tabla planets, que representan diferentes planetas con sus respectivos IDs de planeta, nombres, poblaciones y recursos.

Sale de la CLI de Hive escribiendo exit;.

Modifica la estructura de la tabla

Ahora que tenemos una tabla con algunos datos, digamos que Princesa Leia necesita agregar otra columna para almacenar información sobre el clima de cada planeta. En este paso, aprenderemos cómo modificar la estructura de una tabla existente de Hive.

Inicia la CLI de Hive:

hive

Utiliza la base de datos rebel_intel:

USE rebel_intel;

Modifica la tabla planets para agregar una nueva columna llamada climate:

ALTER TABLE planets ADD COLUMNS (climate STRING);

Este comando agrega una nueva columna llamada climate de tipo STRING a la tabla planets.

Verifica la estructura actualizada de la tabla:

DESCRIBE planets;

Deberías ver la nueva columna climate en el esquema de la tabla.

Sale de la CLI de Hive escribiendo exit;.

Actualiza los datos de la tabla

Con la nueva columna climate agregada a la tabla planets, ahora podemos actualizar los datos existentes para incluir información sobre el clima de cada planeta.

Inicia la CLI de Hive:

hive

Utiliza la base de datos rebel_intel:

USE rebel_intel;

Actualiza la columna climate para cada planeta:

UPDATE planets SET climate = 'Temperado' WHERE planet_name = 'Alderaan';
UPDATE planets SET climate = 'Árido' WHERE planet_name = 'Tatooine';
UPDATE planets SET climate = 'Congelado' WHERE planet_name = 'Hoth';
UPDATE planets SET climate = 'Tropical' WHERE planet_name = 'Endor';
UPDATE planets SET climate = 'Artificial' WHERE planet_name = 'Bespin';

Estas instrucciones UPDATE establecen el valor de climate para cada planeta según sus respectivos nombres.

Verifica los datos actualizados:

SELECT * FROM planets;

Deberías ver los valores actualizados de climate para cada planeta.

Sale de la CLI de Hive escribiendo exit;.

Resumen

En este laboratorio, exploramos el concepto de modificar tablas en Hadoop Hive, que es una habilidad crucial para administrar y reorganizar grandes conjuntos de datos. Al crear una tabla de ejemplo planets, agregar datos y luego modificar la estructura de la tabla para incluir una nueva columna climate, aprendimos cómo adaptar nuestros modelos de datos para satisfacer requisitos en evolución.

El diseño de este laboratorio se inspiró en el icónico universo de Star Wars, donde la líder rebelde, Princesa Leia, necesita analizar datos de inteligencia para identificar debilidades en las defensas del Imperio Galáctico. Al dominar la capacidad de Hive para modificar tablas, Leia puede eficientemente reestructurar sus bases de datos de inteligencia, descubriendo valiosos conocimientos y ganando una ventaja estratégica en la rebelión contra el opresivo Imperio.

A través de esta experiencia práctica, adquirí una comprensión más profunda de cómo crear, modificar y actualizar tablas de Hive, que son habilidades esenciales para trabajar con grandes conjuntos de datos en entornos de Hadoop. El uso de verificadores también me permitió comprobar mi progreso en cada paso, reforzando mi aprendizaje y asegurando que completara con éxito los objetivos del laboratorio.