Integración de datos del Dragón del Desierto

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 la vasta extensión de un desierto árido, una violenta tormenta de arena ardea, levantando nubes de arena que oscurecen el horizonte. En medio del caos vertiginoso, un majestuoso dragón del desierto vuela por el cielo, sus escamas reluciendo con un brillo dorado. Esta poderosa criatura está encargada de una misión crucial: recopilar información vital de fuentes de datos dispersas y descubrir conocimientos ocultos que podrían ayudar a domar la implacable tormenta de arena.

El objetivo de este laboratorio es equiparte con las habilidades para aprovechar el poder de Hadoop y Hive, lo que te permitirá unir y combinar datos de múltiples fuentes. Al dominar el arte de unir datos, desbloquearás la capacidad de desentrañar relaciones complejas y descubrir patrones valiosos, al igual que el dragón del desierto busca desentrañar los secretos de la furiosa tormenta de arena.

Configuración del entorno

En este paso, prepararás el entorno necesario para trabajar con Hadoop y Hive.

  1. Abra una ventana de terminal y cambie al usuario hadoop ejecutando el siguiente comando:
su - hadoop
  1. Navegue hasta el directorio /home/hadoop ejecutando el siguiente comando:
cd /home/hadoop
  1. Cree un nuevo directorio llamado join_lab para almacenar sus archivos:
mkdir join_lab
  1. Cambie al directorio join_lab:
cd join_lab

Ahora tienes un espacio de trabajo dedicado para este laboratorio.

Creación de conjuntos de datos de ejemplo

En este paso, crearás dos conjuntos de datos de ejemplo para practicar operaciones de unión en Hive.

  1. Crea un nuevo archivo llamado employees.txt con el siguiente contenido:
101,John Doe,Sales
102,Jane Smith,Marketing
103,Michael Johnson,IT
104,Emily Davis,HR
105,Adam Wilson,Finance
106,Lisa Brown,Operations
  1. Crea otro archivo llamado departments.txt con el siguiente contenido:
1,Sales,New York
2,Marketing,Los Angeles
3,IT,Chicago
4,HR,San Francisco
  1. Inicia el shell de Hive ejecutando el siguiente comando:
hive
  1. Carga los conjuntos de datos en Hive ejecutando los siguientes comandos:
CREATE TABLE employees (emp_id INT, name STRING, dept STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/join_lab/employees.txt' OVERWRITE INTO TABLE employees;

CREATE TABLE departments (dept_id INT, dept_name STRING, location STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/join_lab/departments.txt' OVERWRITE INTO TABLE departments;

Estos comandos crearán dos tablas de Hive, employees y departments, y cargarán los datos de los archivos de texto respectivos.

Realizar un JOIN interno

En este paso, aprenderás a realizar una operación de JOIN interno en Hive para combinar datos de las tablas employees y departments.

Ejecute la siguiente consulta de Hive para realizar un JOIN interno:

CREATE TABLE result_1
AS
SELECT e.emp_id, e.name, d.dept_name, d.location
FROM employees e
JOIN departments d
ON e.dept = d.dept_name;

SELECT * FROM result_1;

Esta consulta une las tablas employees y departments en función de las columnas dept y dept_name, respectivamente. Recupera las columnas emp_id, name, dept_name y location del resultado de la unión.

La salida debería ser así:

101     John Doe        Sales   New York
102     Jane Smith      Marketing       Los Angeles
103     Michael Johnson IT      Chicago
104     Emily Davis     HR      San Francisco

Un JOIN interno combina filas de dos tablas en función de una condición especificada. En este caso, coincide los valores de dept de la tabla employees con los valores de dept_name de la tabla departments. El resultado incluye solo las filas en las que se cumple la condición de unión, es decir, los valores de dept y dept_name coinciden.

Realizar un JOIN externo izquierdo

En este paso, aprenderás a realizar una operación de JOIN externo izquierdo en Hive.

Ejecute la siguiente consulta de Hive para realizar un JOIN externo izquierdo:

CREATE TABLE result_2
AS
SELECT e.emp_id, e.name, d.dept_name, d.location
FROM employees e
LEFT OUTER JOIN departments d
ON e.dept = d.dept_name;

SELECT * FROM result_2;

Esta consulta realiza un JOIN externo izquierdo entre las tablas employees y departments. Incluye todas las filas de la tabla izquierda (employees) y las filas coincidentes de la tabla derecha (departments). Si no hay coincidencia en la tabla derecha, el resultado contendrá valores NULL para las columnas de la tabla derecha.

La salida debería ser así:

101     John Doe        Sales   New York
102     Jane Smith      Marketing       Los Angeles
103     Michael Johnson IT      Chicago
104     Emily Davis     HR      San Francisco
105     Adam Wilson     NULL    NULL
106     Lisa Brown      NULL    NULL

Un JOIN externo izquierdo devuelve todas las filas de la tabla izquierda (employees) y las filas coincidentes de la tabla derecha (departments). Si una fila de la tabla izquierda no tiene una fila coincidente en la tabla derecha, el resultado incluirá valores NULL para las columnas de la tabla derecha.

Resumen

En este laboratorio, aprendiste a trabajar con Hadoop y Hive para realizar operaciones de unión en conjuntos de datos. Creaste conjuntos de datos de ejemplo y los cargaste en tablas de Hive, lo que te permitió practicar JOINs internos y JOINs externos izquierdos. Al dominar estas operaciones de unión, has adquirido la capacidad de combinar y analizar datos de múltiples fuentes, al igual que el dragón del desierto combina información de fuentes dispersas para desentrañar los secretos de la tormenta de arena en furia.

A lo largo de este laboratorio, tuve el objetivo de brindarte una experiencia de aprendizaje estructurada e inmersiva, guiándote a través de cada paso con instrucciones claras, ejemplos de código y explicaciones. El uso de verificadores te permitió validar tu progreso e identificar áreas para mejorar. Al diseñar un escenario que resuene con los retos enfrentados en el análisis de datos, espero haber hecho el proceso de aprendizaje más atractivo y relevante.

En general, este laboratorio no solo te ha equipado con habilidades técnicas en Hadoop y Hive, sino que también ha fomentado una comprensión más profunda de la importancia de la integración y el análisis de datos en la resolución de problemas complejos. Al igual que el dragón del desierto persevera en su misión, tus nuevos conocimientos te habilitarán para enfrentar retos de datos del mundo real con confianza y creatividad.