Dominio de los datos en el Área de Hive

HadoopBeginner
Practicar Ahora

Introducción

En un mundo futurista donde los datos son supremos, se celebra un gran torneo para determinar el maestro definitivo de la manipulación de datos. Concursantes de todos los rincones de la galaxia se reúnen para mostrar sus habilidades en el arte de la manipulación de datos, siendo el desafío más formidable el del Hadoop Hive Shell.

Tú, un prometedor ingeniero de datos, has sido elegido para representar tu planeta natal en este prestigioso evento. Al entrar en la arena, te saluda la imponente figura del árbitro principal del torneo: "Bienvenido, desafíante. En esta batalla decisiva, debes conquistar las profundidades del Hive Shell, una herramienta poderosa que te permite interactuar con el sistema de almacén de datos de Hadoop. Demuestra tu valentía ejecutando una serie de tareas que probarán tu dominio en la consulta, manipulación y análisis de datos".

Asintiendo con determinación, te preparas para los desafíos que se avecinan, ansioso por mostrar tus habilidades y traer honor a tu planeta.

Accediendo al Hive Shell

En este paso, aprenderás cómo acceder al Hive Shell, una interfaz de línea de comandos que te permite interactuar con el sistema de almacén de datos de Hive.

Para acceder al Hive Shell, sigue estos pasos:

  1. Inicia una ventana de terminal.
  2. Cambia al usuario hadoop ejecutando el siguiente comando:
su - hadoop
  1. Una vez que estés en el entorno del usuario hadoop, inicia el Hive Shell ejecutando el siguiente comando:
hive

Deberías ver el indicador del Hive Shell (hive>), lo que indica que has entrado correctamente en el Hive Shell.

A continuación, se muestra un ejemplo de lo que deberías ver en tu terminal:

[hadoop@localhost ~]$ hive
Hive Session ID = 2bd4d0ce-9a9a-4c4e-a8f4-c5a6c7b9a8b9

Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j2.properties Async: true
Hive Session Value Manager Service

hive>

Ahora estás listo para comenzar a ejecutar consultas y comandos de Hive dentro del Hive Shell.

Creando una base de datos y una tabla

En este paso, aprenderás cómo crear una nueva base de datos y una tabla dentro del Hive Shell.

  1. Primero, crea una nueva base de datos llamada tournament_db ejecutando el siguiente comando en el Hive Shell:
CREATE DATABASE tournament_db;
  1. A continuación, cambia a la base de datos recién creada:
USE tournament_db;
  1. Crea una nueva tabla llamada contestants con el siguiente esquema:
CREATE TABLE contestants (
  id INT,
  name STRING,
  planet STRING,
  score INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

Esta tabla almacenará información sobre los concursantes del torneo, incluyendo su ID, nombre, planeta natal y puntuación.

  1. Para verificar que la tabla se creó correctamente, puedes ejecutar el siguiente comando para describir el esquema de la tabla:
DESCRIBE contestants;

Deberías ver el esquema de la tabla mostrado en la salida del Hive Shell.

A continuación, se muestra un ejemplo de lo que deberías ver:

hive> DESCRIBE contestants;
OK
id                   int                 None
name                 string               None
planet               string               None
score                int                  None

Cargando datos en la tabla

Ahora que has creado la tabla contestants, es hora de llenarla con datos.

  1. Crea un nuevo archivo llamado contestants.csv en el directorio /home/hadoop/ con el siguiente contenido:
1,Zara,Andromeda,85
2,Brock,Celestia,92
3,Kira,Nebula,78
4,Tara,Vega,96
5,Zion,Altair,83
  1. A continuación, cambia a la base de datos recién creada:
USE tournament_db;
  1. Carga los datos del archivo contestants.csv en la tabla contestants utilizando el siguiente comando en el Hive Shell:
LOAD DATA LOCAL INPATH '/home/hadoop/contestants.csv' OVERWRITE INTO TABLE contestants;

Este comando cargará los datos del archivo local contestants.csv en la tabla contestants, sobrescribiendo cualquier dato existente.

  1. Para verificar que los datos se cargaron correctamente, puedes ejecutar una consulta SELECT:
SELECT * FROM contestants;

Deberías ver la siguiente salida:

hive> SELECT * FROM contestants;
OK
1 Zara Andromeda 85
2 Brock Celestia 92
3 Kira Nebula 78
4 Tara Vega 96
5 Zion Altair 83

Consultando los datos

Con los datos cargados en la tabla contestants, ahora puedes realizar varias consultas para analizar y manipular los datos.

  1. Para mostrar los nombres y puntuaciones de todos los concursantes del planeta 'Andromeda', ejecuta la siguiente consulta:
SELECT name, score FROM contestants WHERE planet = 'Andromeda';

Deberías ver la siguiente salida:

hive> SELECT name, score FROM contestants WHERE planet = 'Andromeda';
OK
Zara 85
  1. Para calcular la puntuación media de todos los concursantes, ejecuta la siguiente consulta:
SELECT AVG(score) AS average_score FROM contestants;

Deberías ver la siguiente salida:

hive> SELECT AVG(score) AS average_score FROM contestants;
OK
86.8
  1. Para encontrar al concursante con la puntuación más alta, ejecuta la siguiente consulta:
SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;

Deberías ver la siguiente salida:

hive> SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;
OK
Brock   92
Kira    78
Tara    96
Zara    85
Zion    83

Siente la libertad de experimentar con más consultas y explorar los datos en la tabla contestants utilizando las diferentes cláusulas y funciones que ofrece Hive.

Resumen

En este laboratorio, emprendiste un viaje al mundo del Hadoop Hive Shell, una herramienta poderosa para la manipulación y análisis de datos. A través de una serie de desafíos inmersivos, dominaste el arte de acceder al Hive Shell, crear bases de datos y tablas, cargar datos y consultar los datos utilizando diferentes cláusulas y funciones.

El diseño del laboratorio, inspirado en un torneo futurista, tuvo como objetivo crear una experiencia de aprendizaje atractiva y motivadora. Al asumir el papel de un concursante que representa tu planeta natal, te motivó a destacar en cada desafío, afianzando tus habilidades y demostrando tu destreza en el trabajo con datos.

A lo largo del laboratorio, te enfrentaste a tareas prácticas que te exigían ejecutar comandos, escribir consultas y analizar los resultados. Las instrucciones paso a paso, acompañadas de ejemplos de código y explicaciones detalladas, aseguraron una curva de aprendizaje suave, permitiéndote construir progresivamente tus conocimientos y confianza.

La inclusión de scripts de comprobación al final de cada paso proporcionó una oportunidad de autoevaluación, lo que te permitió validar tu comprensión y asegurarte de haber completado con éxito las tareas. Estos verificadores jugaron un papel crucial en reforzar tu aprendizaje y asegurarse de que estabas en el camino correcto.

En general, este laboratorio no solo te equipó con las habilidades esenciales necesarias para trabajar con Hadoop Hive Shell, sino que también fomentó una apreciación por el poder de la manipulación y análisis de datos de manera atractiva e inmersiva.