Está en la página 1de 4

Introducción al uso de herramientas para

Big Data de la tecnologı́a Hadoop


Salomón Ramı́rez*
Seminario: Spatial Big Data
Especialización en Sistemas de Información Geográfica
Facultad de Ingenierı́a
Universidad Distrital Francisco José de Caldas
Bogotá, Colombia
Octubre de 2019

Contenido distribuido bajo Licencia Creative Commons



C
CC BY:

Resumen
Este documento brinda una breve introducción al uso de las herra-
mientas de código abierto más populares que hacen parte del ecosistema
de Hadoop en el contexto de Big Data, las cuales están incluidas en el
ambiente de Cloudera Distribution Hadoop (CDH).
Especı́ficamente se realizan algunos casos de uso analı́tico tomados y
adaptados de la documentación oficial de Cloudera con fines académicos,
sin pretender ser una guı́a exhaustiva, ni remplazar la documentación
oficial.
Se asume que el lector esta familiarizado con los fundamentos de Big
Data, la arquitectura de Haddop, el uso de MapReduce y tiene conceptos
y habilidades tanto en programación como en bases de datos relacionales.

Introducción
En cualquier prueba de concepto (PoC ) exitosa se deben abordar problemáti-
cas que sean de interés para la organización. Por lo tanto, lo primero que debe
hacer es definir una pregunta de negocio (BQ).
Los ejercicios se realizaran en el contexto de una empresa llamada DataCo,
y su misión como Especialista es ayudar a esta empresa a obtener una mejor
visión formulando y resolviendo grandes interrogantes de negocio.

* seramirezf@correo.udistrital.edu.co

1
Figura 1: Modelo de datos relacional de DataCo. Fuente: Cloudera, 2017

1. Análisis de datos estructurados


BQ: ¿Cuáles son los productos más vendidos?

1. Describa cómo resolverı́a el interrogante plantedo anteriormente bajo un


enfoque tradicional de gestión y procesamiento de datos.
2. Abra una terminal o Interfaz de Linea de Comandos (CLI).

3. Realice ingesta de datos estructurados en Hive a partir de datos almacena-


dos en un Sistema Manejador de Bases de Datos Relacionales (SMBDR)
empleando el comando import-all-tables de Sqoop mediante las siguientes
instrucciones:

sqoop import-all-tables \
-m 1 \
--connect jdbc:mysql://10.0.2.15:3306/retail_db \
--username=retail_dba \
--password=cloudera \
--compression-codec=snappy \
--as-parquetfile \
--warehouse-dir=/user/hive/warehouse \
--hive-import

4. Describa cada uno de los parámetros empleados en la instrucción anterior.


5. ¿Sobre cuál herramienta de Hadoop se realizó la ingesta?

6. Confirme que los datos fueron importados en HDFS mediante las siguien-
tes instrucciones, una vez finalice la ejecución de las anteriores:

2
hadoop fs -ls /user/hive/warehouse/
hadoop fs -ls /user/hive/warehouse/categories/
7. Describa el resultado obtenido en cada caso.
8. Abra un navegador web e ingrese a http://10.0.2.15:8888 para iniciar Hue

9. Autentifı́quese usando tanto para usuario como para constraseña cloudera


como credenciales.
10. Abra el editor Impala que se encuentra en el menú Query Editors de Hue
11. Actualice los metadatos de Impala ejecutando la siguiente instrucción:

invalidate metadata;

12. Describa el resultado obtenido anteriormente.


13. Liste las tablas existentes empleando la siguiente instrucción

show tables;
14. Recupere los 10 productos más vendidos mediante la siguiente consulta

-- categorias productos más populares


select c.category_name, count(order_item_quantity) as count
from order_items oi
inner join products p on oi.order_item_product_id = p.product_id
inner join categories c on c.category_id = p.product_category_id
group by c.category_name
order by count desc
limit 10;

15. Recupere los 10 productos que generan mayores ingresos, empleando la


siguiente consulta

-- Principales productos generadores de ingresos


select p.product_id, p.product_name, r.revenue
from products p inner join
(select oi.order_item_product_id,
sum(cast(oi.order_item_subtotal as float)) as revenue
from order_items oi inner join orders o
on oi.order_item_order_id = o.order_id
where o.order_status <> ’CANCELED’
and o.order_status <> ’SUSPECTED_FRAUD’
group by order_item_product_id) r
on p.product_id = r.order_item_product_id
order by r.revenue desc
limit 10;

3
16. Plante y resuelva otro BQ para DataCo que sea de su interés como Espe-
cialista, considerando para ello el modelo de datos relacional de DataCo
y usando SQL.
17. ¿Por qué si la ingesta de datos se realizó sobre Hive es posible consultarlos
desde Impala ?

18. Formule conclusiones.

También podría gustarte