Este repositorio cuenta con las siguientes herramientas:
- MySQL
- Hadoop
- Spark
- Hive
- Jupyter
Todo el contenido se ejecutara en codespace de github.
- Crear un codespace para el repositorio e ingresar al mismo
- Abrir terminal de codespace
- Ejecutar el siguiente comando para desplegar los contenedores
>_ docker-compose up
Esta linea desplegara los contenedores y podras ver estos utilizando la extension Docker explorer
Este contenedor contiene una base de datos llamada retail_db y consta de las siguientes tablas:
- customers
- orders
- order_items
- products
- categories
- departments
credenciales:
user: root
pass: root
port: 3310
Ejecutar ifconfig en terminal para obtener la ip (eth0)
Para poder trabajar con hadoop ingresamos al contenedor del datanode.
Abrimos un terminal nuevo y ejecutamos lo siguiente
>_ docker exec -it datanode bash
Asi para cada contenedor con el que queremos trabajar.
Para utilizar sqoop en el datanode debemos ejecutar lo siguiente
>_ sh /datanode/scripts/script.sh
Para exportar las tabla de la base de datos retail con sqoop ejecutar lo siguiente:
>_ sh /datanode/scripts/sqoop/script_sqoop_textfile.sh
>_ sh /datanode/scripts/sqoop/script_sqoop_avro.sh
>_ hdfs dfs -put *.avsc /user/datapath/datasets/avro/
Para poder trabajar con hive ingresamos al contenedor del hive-server.
Abrir un terminal y copiar el archivo hive.hql a hive-server
>_ docker cp datanode/scripts/hive/hive.hql hive-server:/opt
>_ docker cp datanode/scripts/hive/hive_avro.hql hive-server:/opt
Abrimos un terminal nuevo y ejecutamos lo siguiente
>_ docker exec -it hive-server bash
Para crear tablas externas en base a los datos importados con sqoop ejecutamos los siguientes pasos:
En el terminal de hive-server ejecutamos lo siguiente para crear las tablas.
>_ hive -f /opt/hive.hql
>_ hive -f /opt/hive_avro.hql