Sunteți pe pagina 1din 3

Ejercicio 1: ingesta y consulta de

datos relacionales
En este escenario, la pregunta comercial de Dualcore es: ¿Qué productos les gusta
comprar a nuestros clientes? Para responder a esta pregunta, el primer pensamiento
podría ser mirar los datos de la transacción, que deberían indicar lo que los clientes
realmente compran y les gusta comprar, ¿verdad?
Esto es probablemente algo que puede hacer en su entorno RDBMS habitual, pero un
beneficio de Apache Hadoop es que puede hacerlo a mayor escala a un costo menor,
en el mismo sistema que también puede usar para muchos otros tipos de análisis.
Lo que demuestra este ejercicio es cómo hacer exactamente lo mismo que ya sabe
hacer, pero en CDH. La integración perfecta es importante al evaluar cualquier
infraestructura nueva. Por lo tanto, es importante poder hacer lo que normalmente
hace, y no interrumpir los informes de BI o las cargas de trabajo regulares sobre el
conjunto de datos que planea migrar.
Para analizar los datos de la transacción en la nueva plataforma, necesitamos
incorporarlos al Sistema de archivos distribuidos de Hadoop (HDFS). Necesitamos
encontrar una herramienta que transfiera fácilmente los datos estructurados de un
RDBMS a HDFS, mientras conserva la estructura. Eso nos permite consultar los datos,
pero no interferir o interrumpir ninguna carga de trabajo regular en ellos.
Apache Sqoop, que forma parte de CDH, es esa herramienta. Lo bueno de Sqoop es
que podemos cargar automáticamente nuestros datos relacionales de MySQL en HDFS,
al tiempo que conservamos la estructura. Con algunos parámetros de configuración
adicionales, podemos dar un paso más y cargar estos datos relacionales directamente
en un formulario listo para ser consultado por Apache Impala, la base de datos
analítica MPP incluida con CDH y otras cargas de trabajo.
Referencia del modelo de datos

Para su comodidad, esta sección de referencia representa la estructura de las tablas


que usará en los ejercicios al final de este manual de ejercicios.

Primero exploraremos la base de datos


En una ventana de terminal, inicie sesión en MySQL y seleccione la base de datos
retail_db:
$ mysql --user=retail_dba --password=cloudera retail_db

A continuación, enumere las tablas disponibles en la base de datos dualcore (mysql>


representa la solicitud del cliente MySQL y no forma parte del comando):
mysql> SHOW TABLES;

Revise la estructura de la tabla de empleados y examine algunos de sus registros:


mysql> DESCRIBE customers;
mysql> SELECT emp_id, fname, lname, state, salary FROM
employees LIMIT 10;

Salga de MySQL escribiendo quit y presione la tecla Enter


mysql> quit
Primero debe iniciar sesión en el nodo maestro de su clúster a través de un
terminal. Luego, inicie el trabajo Sqoop:
$ sqoop import-all-tables \
-m {{cluster_data.worker_node_hostname.length}} \
--connect jdbc:
mysql://{{cluster_data.manager_node_hostname}}:3306/retail_
db \
--username = retail_dba \
--password = cloudera \
--compression-codec = snappy \
--como archivo de parquet \
--warehouse-dir = /user/hive/warehouse \
--hive-import

Ejecute el siguiente comando, que importa la tabla de empleados en el directorio


/dualcore en HDFS, utilizando caracteres de tabulación para separar cada campo
$ sqoop import \
--connect jdbc:mysql://localhost:3306/retail_db \
--username=retail_dba \
--password=cloudera \
--fields-terminated-by '\t' \
--warehouse-dir=/dualcore \
--table products

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

S-ar putea să vă placă și