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:
- Inicia una ventana de terminal.
- Cambia al usuario
hadoopejecutando el siguiente comando:
su - hadoop
- 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.
- Primero, crea una nueva base de datos llamada
tournament_dbejecutando el siguiente comando en el Hive Shell:
CREATE DATABASE tournament_db;
- A continuación, cambia a la base de datos recién creada:
USE tournament_db;
- Crea una nueva tabla llamada
contestantscon 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.
- 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.
- Crea un nuevo archivo llamado
contestants.csven 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
- A continuación, cambia a la base de datos recién creada:
USE tournament_db;
- Carga los datos del archivo
contestants.csven la tablacontestantsutilizando 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.
- 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.
- 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
- 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
- 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.



