El viaje de integración de Cosmic Hive

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 una galaxia lejana, existe una base de investigación alienígena dedicada a estudiar los misterios del universo. Una de las principales investigadoras, la xenobióloga Zara, ha sido encargada de analizar grandes cantidades de datos recolectados de varios cuerpos celestes. Sin embargo, la gran cantidad y complejidad de los datos han hecho que sea desafiante procesarlos y extraer información valiosa utilizando métodos tradicionales.

El objetivo de Zara es aprovechar el poder de Hadoop Hive, una herramienta de almacenamiento de datos poderosa, para almacenar, procesar y analizar eficientemente los datos astronómicos. Al configurar Hive en el clúster Hadoop de la base, ella espera descubrir patrones y relaciones ocultos que podrían arrojar luz sobre los orígenes y evolución de los cuerpos celestes, avanzando en última instancia nuestra comprensión del cosmos.


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/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") 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/where("where Usage") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/hive_setup -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/hive_shell -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/manage_db -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/create_tables -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/load_insert_data -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/basic_hiveql -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} hadoop/where -.-> lab-288977{{"El viaje de integración de Cosmic Hive"}} end

Instalando Hive

En este paso, instalaremos Apache Hive en nuestro clúster Hadoop, lo que nos permitirá procesar y analizar los datos astronómicos utilizando consultas similares a SQL.

Primero, cambie al usuario hadoop ejecutando el siguiente comando en la terminal:

su - hadoop

Luego, descargue la última versión estable de Apache Hive desde el sitio web oficial:

wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

Extraiga el archivo descargado:

tar -xzf apache-hive-3.1.3-bin.tar.gz

A continuación, establezca la variable de entorno HIVE_HOME agregando la siguiente línea al archivo ~/.bashrc:

echo 'export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin' >> ~/.bashrc
export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin

Configure Hive para trabajar con el clúster Hadoop creando un archivo hive-site.xml en el directorio $HIVE_HOME/conf con el siguiente contenido:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=/home/hadoop/metastore_db;create=true</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
  </property>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
</configuration>

Este archivo de configuración configura el metastore de Hive, que almacena los metadatos de las tablas y particiones de Hive.

Finalmente, inicialice la metabase con el siguiente comando:

$HIVE_HOME/bin/schematool -dbType derby -initSchema

Creando una tabla de Hive

En este paso, crearemos una tabla de Hive para almacenar los datos astronómicos recolectados de varios cuerpos celestes.

  1. Inicie la shell de Hive ejecutando el siguiente comando:
$HIVE_HOME/bin/hive
  1. Cree una nueva base de datos llamada astronomía:
CREATE DATABASE astronomía;
  1. Utilice la base de datos astronomía:
USE astronomía;
  1. Cree una nueva tabla llamada cuerpos_celestes con el siguiente esquema:
CREATE TABLE cuerpos_celestes (
  id INT,
  nombre STRING,
  tipo STRING,
  distancia DOUBLE,
  masa DOUBLE,
  radio DOUBLE
)
ROW FORMAT DELIMITED
CAMPOS TERMINADOS POR ','
ALMACENADO COMO ARCHIVO DE TEXTO;

Esta tabla almacenará información sobre varios cuerpos celestes, incluyendo su ID, nombre, tipo (por ejemplo, estrella, planeta, asteroide), distancia de la Tierra, masa y radio.

  1. Cargue algunos datos de muestra en la tabla cuerpos_celestes a partir de un archivo local:
LOAD DATA LOCAL INPATH '/home/hadoop/celestial_data.csv' OVERWRITE INTO TABLE cuerpos_celestes;

Consejos: Ya existe una simulación llamada celestial_data.csv en la ruta /home/hadoop/

  1. Salga de la shell de Hive:
EXIT;

Consultando la tabla de Hive

En este paso, ejecutaremos algunas consultas similares a SQL en la tabla cuerpos_celestes para analizar los datos astronómicos.

  1. Inicie la shell de Hive si no está ya en ejecución:
$HIVE_HOME/bin/hive
  1. Utilice la base de datos astronomía:
USE astronomía;
  1. Obtenga la cantidad de cuerpos celestes en la tabla:
SELECT COUNT(*) FROM cuerpos_celestes;
  1. Encuentre los cuerpos celestes con una masa mayor a 1.0:
SELECT nombre, tipo, masa FROM cuerpos_celestes WHERE masa > 1.0;
  1. Obtenga la distancia promedio de los planetas a la Tierra:
SELECT AVG(distancia) FROM cuerpos_celestes WHERE tipo = 'Planeta';
  1. Salga de la shell de Hive:
EXIT;

Sientase libre de experimentar con más consultas según sus requisitos de análisis.

Resumen

En este laboratorio, exploramos el proceso de configurar Apache Hive en un clúster Hadoop y usarlo para almacenar y analizar datos astronómicos. Aprendimos cómo instalar Hive, crear una base de datos y una tabla de Hive, cargar datos en la tabla y ejecutar consultas similares a SQL para extraer información valiosa de los datos.

Al aprovechar el poder de Hive, la xenobióloga Zara ahora puede procesar y analizar eficientemente las grandes cantidades de datos de cuerpos celestes recolectados por la base de investigación alienígena. La capacidad de realizar consultas y agregaciones complejas en estos datos le permitirá descubrir patrones y relaciones ocultos, lo que podría conducir a descubrimientos revolucionarios sobre los orígenes y evolución de los cuerpos celestes.

Este laboratorio no solo proporcionó experiencia práctica en la configuración de Hive y el análisis de datos, sino que también destacó la versatilidad y escalabilidad del ecosistema Hadoop en el manejo de tareas de procesamiento de grandes volúmenes de datos. A medida que continuamos explorando los misterios del universo, herramientas como Hive tendrán un papel crucial en descubrir los secretos ocultos dentro de la vasta extensión de datos celestes.