Datos de ruinas con la magia de 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 el corazón de un desolado desierto, una figura sola se mueve entre los restos de una ciudad abandonada hace mucho tiempo. Este es el reino del Artista de las Ruinas, un visionario que ve belleza en el deterioro y potencial en lo olvidado. Su objetivo es descubrir las historias ocultas dentro de las ruinas, infundiendo vida nueva en las estructuras derrumbadas a través de su arte.

El Artista de las Ruinas se ha encontrado con un tesoro de datos antiguos, dispersos por varios fragmentos de una biblioteca que alguna vez fue grandiosa. Para dar sentido a esta riqueza de información y traer orden al caos, debe aprovechar el poder de Hadoop y sus poderosas capacidades de procesamiento de datos, específicamente la funcionalidad de agrupamiento en Hive.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHDFSGroup -.-> hadoop/fs_cp("FS Shell cp") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/limit("limit Usage") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") hadoop/HadoopHiveGroup -.-> hadoop/aggregating("Aggregating Function") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/fs_mkdir -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/fs_cp -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/hive_shell -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/create_tables -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/load_insert_data -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/limit -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/group_by -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} hadoop/aggregating -.-> lab-288973{{"Datos de ruinas con la magia de Hadoop"}} end

Configuración del entorno

En este paso, configuraremos el entorno y prepararemos los datos para nuestro análisis.

  1. Abra una terminal y cambie al usuario hadoop ejecutando el siguiente comando:
su - hadoop
  1. Navegue hasta el directorio /home/hadoop:
cd /home/hadoop
  1. Cree un nuevo directorio llamado ruin-data para almacenar nuestro conjunto de datos:
mkdir ruin-data
  1. Mueva el conjunto de datos de muestra al directorio ruin-data:
cp /tmp/ruin-dataset.txt ruin-data/

Este conjunto de datos contiene información sobre varios artefactos encontrados en las ruinas, incluyendo su tipo, ubicación y estado.

Exploración del conjunto de datos

En este paso, cargaremos el conjunto de datos en Hive y exploraremos su estructura.

  1. Inicie la shell de Hive ejecutando el siguiente comando:
hive
  1. Cree una nueva base de datos llamada ruin_analysis:
CREATE DATABASE ruin_analysis;
  1. Utilice la base de datos ruin_analysis:
USE ruin_analysis;
  1. Cree una nueva tabla externa llamada artifacts para almacenar los datos del archivo ruin-dataset.txt:
CREATE EXTERNAL TABLE artifacts (
  artifact_id INT,
  artifact_type STRING,
  location STRING,
  condition STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

Este comando crea una nueva tabla con cuatro columnas: artifact_id, artifact_type, location y condition. La tabla está configurada para leer datos del archivo ruin-dataset.txt, que es un archivo de texto separado por comas almacenado en el directorio /home/hadoop/ruin-data. 5. Cargue los datos en la tabla artifacts:

LOAD DATA LOCAL INPATH '/home/hadoop/ruin-data/ruin-dataset.txt' INTO TABLE artifacts;
  1. Verifique la estructura de la tabla ejecutando el siguiente comando:
DESCRIBE artifacts;

Esto debería mostrar los nombres de las columnas y sus tipos de datos.

Agrupamiento y agregación de datos

En este paso, usaremos la cláusula GROUP BY para analizar los datos de los artefactos y descubrir patrones ocultos.

  1. En la shell de Hive, ejecute la siguiente consulta para contar el número de artefactos de cada tipo de artefacto:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type;

Esta consulta agrupa los datos por artifact_type y calcula la cuenta de artefactos de cada tipo usando la función COUNT(*).

  1. Para encontrar el tipo de artefacto más común, modifique la consulta anterior agregando una cláusula ORDER BY:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type
ORDER BY artifact_count DESC
LIMIT 1;

Esta consulta ordena los resultados por artifact_count en orden descendente y limita la salida a la primera fila, lo que nos da el tipo de artefacto con la mayor cuenta.

  1. Analicemos la condición de los artefactos según su tipo. Ejecute la siguiente consulta:
SELECT artifact_type, condition, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type, condition
ORDER BY artifact_type, condition;

Esta consulta agrupa los datos por artifact_type y condition, cuenta el número de artefactos para cada combinación y ordena los resultados por artifact_type y condition.

  1. Finalmente, podemos explorar la distribución de los artefactos en diferentes ubicaciones ejecutando la siguiente consulta:
SELECT location, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY location
ORDER BY artifact_count DESC;

Esta consulta agrupa los datos por location y cuenta el número de artefactos encontrados en cada ubicación, ordenados en orden descendente por artifact_count.

Resumen

En este laboratorio, exploramos el poder de Hive de Hadoop y su funcionalidad GROUP BY para analizar un conjunto de datos de artefactos encontrados en una ruina antigua. Al configurar el entorno, cargar los datos en Hive y ejecutar varias consultas GROUP BY, descubrimos información valiosa como el tipo de artefacto más común, la condición de los artefactos según su tipo y la distribución de los artefactos en diferentes ubicaciones.

A través de esta experiencia práctica, adquirimos una comprensión más profunda de cómo se pueden aprovechar Hadoop y Hive para el análisis de datos y el descubrimiento de patrones, especialmente cuando se tratan con conjuntos de datos grandes y complejos. La capacidad de agrupar y agregar datos es una habilidad fundamental en el mundo de los datos masivos, y este laboratorio proporcionó una introducción práctica a este concepto esencial.