Descubrimiento de Datos de Marte 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

En el año 2150, los recursos de la Tierra se han agotado y la humanidad ha establecido una próspera metrópolis en Marte, conocida como Martrópolis. Como oficial de protección ambiental, tu misión es garantizar la sostenibilidad de esta ciudad futura mediante el análisis y la optimización de la utilización de recursos. Una de tus principales responsabilidades es aprovechar el poder de Hadoop y Hive para procesar y analizar grandes cantidades de datos ambientales, lo cual guiará tu proceso de toma de decisiones.

Tu objetivo es explorar la base de datos de Hive, investigar su estructura y obtener información sobre los datos que contiene. Al dominar el arte de describir tablas en Hive, descubrirás los secretos ocultos en los datos, lo que te permitirá tomar decisiones informadas que moldearán el futuro de Martrópolis y protegerá su delicado ecosistema.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/describe_tables("Describing Tables") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") hadoop/HadoopHiveGroup -.-> hadoop/partitions_buckets("Implementing Partitions and Buckets") hadoop/HadoopHiveGroup -.-> hadoop/schema_design("Schema Design") subgraph Lab Skills hadoop/hive_setup -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/hive_shell -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/manage_db -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/describe_tables -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/basic_hiveql -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/storage_formats -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/partitions_buckets -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} hadoop/schema_design -.-> lab-288966{{"Descubrimiento de Datos de Marte con Hadoop"}} end

Conectarse a Hive y Listar las Bases de Datos Disponibles

En este paso, aprenderás cómo conectarse al entorno de Hive y listar las bases de datos disponibles.

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

su - hadoop

Ahora, lanza el shell de Hive ejecutando el siguiente comando:

hive

Una vez que estés en el shell de Hive, puedes usar el comando SHOW DATABASES para listar todas las bases de datos disponibles.

SHOW DATABASES;

Este comando mostrará una lista de bases de datos, incluyendo la base de datos predeterminada.
Salida de ejemplo:

hive> SHOW DATABASES;
OK
default
martropolis
Tiempo transcurrido: 0,528 segundos, Recuperado: 2 fila(s)

Cambiar a la Base de Datos'martropolis'

En este paso, cambiarás a la base de datos martropolis, que contiene las tablas relacionadas con tu misión.

USE martropolis;

Después de ejecutar este comando, estarás trabajando dentro de la base de datos martropolis.

Consejo: martropolis ha sido creada automáticamente por el sistema como una base de datos de ejemplo para este laboratorio.

Listar Tablas en la Base de Datos'martropolis'

Ahora que estás en la base de datos martropolis, puedes listar todas las tablas que contiene usando el comando SHOW TABLES.

SHOW TABLES;

Este comando mostrará una lista de tablas disponibles en la base de datos martropolis.
Salida de ejemplo:

hive> SHOW TABLES;
OK
sensor_data
Tiempo transcurrido: 0,028 segundos, Recuperado: 1 fila(s)

Describir la Estructura de una Tabla

Para entender la estructura de una tabla, puedes usar el comando DESCRIBE seguido del nombre de la tabla.

DESCRIBE sensor_data;

Este comando proporcionará información detallada sobre las columnas de la tabla, incluyendo los nombres de las columnas, los tipos de datos y cualquier metadato adicional.
Salida de ejemplo:

hive> DESCRIBE sensor_data;
OK
sensor_id               int
sensor_name             string
reading                 double
dt                      string

## Información de partición
## col_name              data_type               comentario
dt                      string
Tiempo transcurrido: 0,154 segundos, Recuperado: 8 fila(s)

Explorar las Propiedades de una Tabla

Además de la estructura de la tabla, también puedes explorar las propiedades de una tabla usando el comando DESCRIBE EXTENDED.

DESCRIBE EXTENDED sensor_data;

Este comando proporcionará información más detallada sobre la tabla, incluyendo sus propiedades, como el tipo de tabla, los formatos de entrada y salida, la ubicación y cualquier otro metadato relevante.
Salida de ejemplo:

hive> DESCRIBE EXTENDED sensor_data;
OK
sensor_id               int
sensor_name             string
reading                 double
dt                      string

## Información de partición
## col_name              data_type               comentario
dt                      string

Información Detallada de la Tabla      Tabla(tableName:sensor_data, dbName:martropolis, propietario:hadoop, createTime:1711106250, lastAccessTime:0, retención:0, sd:StorageDescriptor(cols:[FieldSchema(name:sensor_id, type:int, comentario:nulo), FieldSchema(name:sensor_name, type:string, comentario:nulo), FieldSchema(name:reading, type:double, comentario:nulo), FieldSchema(name:dt, type:string, comentario:nulo)], ubicación:hdfs://localhost:9000/user/hive/warehouse/martropolis.db/sensor_data, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, comprimido:false, numBuckets:-1, serdeInfo:SerDeInfo(name:nulo, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parámetros:{serialization.format=1}), bucketCols:[], sortCols:[], parámetros:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), almacenadoComoSubDirectorios:false), partitionKeys:[FieldSchema(name:dt, type:string, comentario:nulo)], parámetros:{totalSize=49, numRows=2, rawDataSize=47, COLUMN_STATS_ACCURATE={\"BASIC_STATS\":\"true\"}, numFiles=1, numPartitions=1, transient_lastDdlTime=1711106250, bucketing_version=2}, viewOriginalText:nulo, viewExpandedText:nulo, tableType:MANAGED_TABLE, rewriteEnabled:false, catName:hive, ownerType:USER)
Tiempo transcurrido: 0,367 segundos, Recuperado: 10 fila(s)

Analizar Particiones de Tabla (Opcional)

Si tus tablas están particionadas, puedes usar el comando SHOW PARTITIONS para ver las particiones de una tabla específica.

SHOW PARTITIONS sensor_data;

Este comando mostrará una lista de particiones para la tabla especificada, junto con sus valores de partición correspondientes.
Salida de ejemplo:

hive> SHOW PARTITIONS sensor_data;
OK
dt=2023-05-01
Tiempo transcurrido: 0,099 segundos, Recuperado: 1 fila(s)

Resumen

En este laboratorio, aprendiste cómo navegar por el entorno de Hive, cambiar entre bases de datos, listar tablas y describir la estructura y propiedades de las tablas. Al dominar estas habilidades fundamentales, has dado el primer paso hacia la revelación de los valiosos conocimientos ocultos en los datos ambientales de Martropolis.

A través de la experiencia práctica, obtuviste una comprensión más profunda de los comandos SHOW DATABASES, USE, SHOW TABLES, DESCRIBE, DESCRIBE EXTENDED y SHOW PARTITIONS. Estos comandos son herramientas esenciales para explorar y comprender la organización de los datos en Hive, lo que te permite tomar decisiones informadas que moldearán el futuro de Martropolis y proteger su delicado ecosistema.