Compresión de datos de gemas con 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

Bienvenido a la Real Academia de las Artes Mágicas, una prestigiosa institución dedicada al estudio y dominio del conocimiento arcano. En este reino, un equipo de estimados Investigadores de Gemas está encargado de desentrañar los secretos de las gemas encantadas, cuyas propiedades místicas son la clave para entender la misma estructura de la realidad.

Su papel como habilidoso Investigador de Gemas es aprovechar el poder del ecosistema Hadoop, específicamente Hive, para analizar y comprimir grandes cantidades de datos de gemas. El objetivo es optimizar la eficiencia de almacenamiento y procesamiento, lo que le permitirá desentrañar los complejos patrones y misterios ocultos dentro de estos artefactos encantados.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) 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/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") hadoop/HadoopHiveGroup -.-> hadoop/compress_data_query("Compress Data in Query") subgraph Lab Skills hadoop/manage_db -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} hadoop/create_tables -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} hadoop/load_insert_data -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} hadoop/basic_hiveql -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} hadoop/group_by -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} hadoop/storage_formats -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} hadoop/compress_data_query -.-> lab-288961{{"Compresión de datos de gemas con Hadoop"}} end

Configurar el Repositorio de Datos de Gemas

En este paso, crearás una tabla de Hive para almacenar los datos de gemas y llenarla con registros de muestra.

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

su - hadoop

Luego, lanza la shell de Hive ejecutando el siguiente comando:

hive

Ahora, crea una nueva base de datos de Hive llamada gemstone_db:

CREATE DATABASE gemstone_db;

Utiliza la nueva base de datos:

USE gemstone_db;

A continuación, crea una tabla llamada gemstones con columnas para id, name, color, origin y enchantment:

CREATE TABLE gemstones (
  id INT,
  name STRING,
  color STRING,
  origin STRING,
  enchantment STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Finalmente, carga los datos de muestra del archivo /home/hadoop/gemstone_data.csv en la tabla gemstones:

LOAD DATA LOCAL INPATH '/home/hadoop/gemstone_data.csv' OVERWRITE INTO TABLE gemstones;

Comprimir los Datos de Gemas

Para optimizar la eficiencia de almacenamiento y procesamiento, comprimiremos los datos de gemas utilizando las capacidades de compresión integradas de Hive.

Primero, crea una nueva tabla gemstones_compressed con el mismo esquema que la tabla original gemstones:

CREATE TABLE gemstones_compressed (
  id INT,
  name STRING,
  color STRING,
  origin STRING,
  enchantment STRING
) STORED AS ORC
TBLPROPERTIES ('orc.compress'='SNAPPY');
  • Especifica la cláusula STORED AS ORC para utilizar el formato de archivo Optimized Row Columnar (ORC), que ofrece una compresión y almacenamiento eficientes.
  • Establece la propiedad de tabla orc.compress en SNAPPY, lo que habilita la compresión Snappy para los archivos ORC.

Luego, inserta los datos de la tabla original gemstones en la tabla gemstones_compressed:

INSERT INTO TABLE gemstones_compressed SELECT * FROM gemstones;

Consultar los Datos Comprimidos

Ahora que los datos de gemas están comprimidos, puedes consultarlos de manera eficiente utilizando Hive.

Primero, ejecuta una consulta simple COUNT(*) en la tabla gemstones_compressed para verificar la integridad de los datos:

SELECT COUNT(*) FROM gemstones_compressed;

Luego, realiza una consulta GROUP BY para contar la cantidad de gemas de cada color:

SELECT color, COUNT(*) AS count FROM gemstones_compressed GROUP BY color;

Resumen

En este laboratorio, aprendiste cómo aprovechar las capacidades de compresión de Hive para optimizar la eficiencia de almacenamiento y procesamiento de grandes conjuntos de datos. Al crear una tabla ORC comprimida y cargar datos en ella, pudiste reducir significativamente la huella de almacenamiento mientras se mantenía el rendimiento de las consultas.

A lo largo del proceso, adquiriste experiencia práctica en la creación de bases de datos y tablas de Hive, la carga de datos y la consulta de datos comprimidos. Este conocimiento práctico será invaluable a medida que continúes tu investigación sobre las propiedades místicas de las gemas encantadas, lo que te permitirá descubrir patrones y conocimientos ocultos de manera más eficiente.