Integración de Hadoop en la Búsqueda de Datos Unificados

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 el místico reino de Datagonia, un valiente caballero de datos llamado Lionheart emprendió una extraordinaria búsqueda. La prosperidad del reino dependía de aprovechar el poder de los datos, y la misión de Lionheart era unificar los diversos conjuntos de datos dispersos por la tierra. Con sus herramientas de Hadoop de confianza a su lado, se dispuso a conquistar los desafíos que se avecinaban.

Los vastos campos del reino contenían información valiosa sobre rendimientos agrícolas, condiciones del suelo y patrones climáticos. En las minas, los datos sobre depósitos minerales y tasas de extracción esperaban ser integrados. Las bulliciosas ciudades estaban repletas de registros de comercio, comercio y dinámica de población. El objetivo de Lionheart era combinar estas fuentes de datos dispares en un conjunto de datos unificado y comprensivo que empoderaría a los tomadores de decisiones del reino y impulsaría el progreso.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/import_export_data("Importing and Exporting Data") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/where("where Usage") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") hadoop/HadoopHiveGroup -.-> hadoop/union("union Usage") subgraph Lab Skills hadoop/fs_mkdir -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/manage_db -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/create_tables -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/load_insert_data -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/import_export_data -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/basic_hiveql -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/where -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/group_by -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} hadoop/union -.-> lab-289004{{"Integración de Hadoop en la Búsqueda de Datos Unificados"}} end

Crear datos de muestra

En este paso, crearemos algunos archivos de datos de muestra para explorar el poder del operador UNION en Hive.

Primero, asegúrese de estar registrado como el usuario hadoop ejecutando el siguiente comando en la terminal:

su - hadoop

Luego, vaya al directorio /home/hadoop/data y cree un nuevo directorio llamado crops:

mkdir -p /home/hadoop/data/crops

A continuación, cree dos archivos llamados wheat.csv y corn.csv en el directorio crops con los siguientes contenidos:

wheat.csv:

North,2020,50
South,2020,45
East,2020,48
West,2020,42

corn.csv:

North,2020,50
South,2020,58
East,2020,62
West,2020,55

Puede usar cualquier editor de texto de su elección para crear estos archivos.

Cargar datos en tablas de Hive

En este paso, crearemos tablas de Hive y cargaremos los datos de muestra en ellas.

Primero, inicie la interfaz de línea de comandos de Hive ejecutando el siguiente comando en la terminal:

hive

Una vez en la interfaz de línea de comandos de Hive, cree una base de datos llamada agriculture:

CREATE DATABASE agriculture;

A continuación, cambie a la base de datos agriculture:

USE agriculture;

Cree una tabla llamada wheat con el esquema adecuado:

CREATE TABLE wheat (
  region STRING,
  year INT,
  yield INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Cargue los datos de wheat.csv en la tabla wheat:

LOAD DATA LOCAL INPATH '/home/hadoop/data/crops/wheat.csv' OVERWRITE INTO TABLE wheat;

Repita el proceso para la tabla corn:

CREATE TABLE corn (
  region STRING,
  year INT,
  yield INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/data/crops/corn.csv' OVERWRITE INTO TABLE corn;

Puede verificar los datos en las tablas usando la instrucción SELECT:

SELECT * FROM wheat;
SELECT * FROM corn;

Realizar la operación UNION

Ahora que tenemos nuestros datos cargados en tablas de Hive, podemos usar el operador UNION para combinar los resultados de dos o más consultas.

En la interfaz de línea de comandos de Hive, ejecute la siguiente consulta:

CREATE TABLE result_1
AS
SELECT region, year, yield FROM wheat
UNION
SELECT region, year, yield FROM corn;

SELECT * FROM result_1;

Esta consulta combinará los resultados de las tablas wheat y corn, creando efectivamente un conjunto de datos unificado con todas las regiones, años y rendimientos.

También puede realizar UNION ALL, que incluye las filas duplicadas en el conjunto de resultados:

SELECT region, year, yield FROM wheat
UNION ALL
SELECT region, year, yield FROM corn;

Tenga en cuenta que los nombres de columna y los tipos de datos deben coincidir en todas las consultas utilizadas en la operación UNION o UNION ALL.

Operaciones avanzadas de UNION (Opcional)

Puede explorar aún más el operador UNION combinando consultas más complejas o usándolo con otras estructuras de Hive como el filtrado o la agregación.

Por ejemplo, puede combinar los resultados de una consulta GROUP BY con otra consulta:

CREATE TABLE result_2
AS
SELECT region, SUM(yield) AS total_yield FROM wheat GROUP BY region
UNION
SELECT region, yield FROM corn;

SELECT * FROM result_2;

O, puede filtrar los resultados antes de combinarlos:

SELECT region, year, yield FROM wheat WHERE year = 2020
UNION
SELECT region, year, yield FROM corn WHERE year = 2020 AND yield > 60;

Sientase libre de experimentar con diferentes combinaciones y ver cómo el operador UNION puede ayudarlo a consolidar datos de múltiples fuentes.

Resumen

En este laboratorio, exploramos el uso del operador UNION en Apache Hive, una herramienta poderosa para el almacenamiento de datos y el análisis en el ecosistema Hadoop. Al crear conjuntos de datos de muestra y cargarlos en tablas de Hive, aprendimos cómo combinar los resultados de múltiples consultas usando UNION y UNION ALL. Esta característica poderosa nos permite consolidar datos de diversas fuentes, lo que posibilita un análisis exhaustivo y la toma de decisiones informadas.

A través del viaje de Lionheart, el caballero de datos, presenciamos el poder transformador de la integración de datos. Al unificar conjuntos de datos disparados de los campos, minas y ciudades del reino, Lionheart capacitó a los tomadores de decisiones con una visión integral, pavimentando el camino hacia el progreso y la prosperidad en el reino de Datagonia.

Este laboratorio no solo proporcionó experiencia práctica con Hive y el operador UNION, sino que también sirvió como recordatorio de la importancia de la consolidación de datos para desbloquear conocimientos y impulsar la innovación. Al dominar estas técnicas, podemos convertirse en caballeros de datos nosotros mismos, equipados con las herramientas para conquistar los desafíos complejos de datos y forjar un futuro más brillante.