Este taller es un ejercicio práctico sobre cómo construir un pipeline ETL utilizando Apache Airflow y otras tecnologías. El objetivo es aprender a extraer información de diversas fuentes de datos, realizar transformaciones, cargar datos en una base de datos y crear un panel de visualización.
Antes de comenzar, asegúrate de tener instalados los siguientes componentes:
- Apache Airflow: Un entorno de orquestación de tareas.
- Python: Lenguaje de programación utilizado para escribir los scripts ETL.
-
Descarga MySQL: Si aún no tienes MySQL instalado, puedes descargarlo desde el sitio web oficial de MySQL.
-
Instalación en Windows: Para instalar MySQL en Windows, puedes seguir esta guía de instalación oficial.
-
Instalación en macOS: Si usas macOS, puedes seguir esta guía de instalación oficial.
-
Instalación en Linux (Ubuntu): En sistemas basados en Ubuntu, puedes usar el siguiente comando para instalar MySQL:
sudo apt-get update sudo apt-get install mysql-server
En este taller, construiremos un pipeline ETL que realiza las siguientes tareas:
-
Extracción de Datos:
- Fuentes de datos:
- Archivo CSV (Spotify Tracks Dataset).
- Base de datos (grammy_awards en mysql).
- Fuentes de datos:
-
Transformación de Datos:
- Realizaremos varias transformaciones en los datos según las necesidades del proyecto, estas estan especificadas en etl_02workshop.py
-
Carga de Datos:
- Almacenaremos los datos en Google Drive como archivo CSV.
- Guardaremos los datos transformados en una base de datos o mysql como yo realice el proceso, en mi caso yo la llame music.
-
Creación del dashboard:
- Usaremos una herramienta de visualización Power BI para visualizar los datos.
Para ejecutar este taller, sigue estos pasos:
- Clonar este repositorio en tu máquina local.
- Asegúrate de que cumples con los requisitos mencionados anteriormente.
- Configura Apache Airflow según sea necesario (archivos DAG, conexiones, etc.).
- Crear una base de datos en mysql en conjunto de un tabla llamada grammy_awards o coo tu mas prefieras.
- Ejecuta los DAGs en Apache Airflow.
- [Kevin Artunduaga]