Skip to content

candemas97/airflow_docker_para_ETL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Airflow en Docker para ETL

En el siguiente codigo se encontrará:

  • Cómo conectarse a Airflow por medio de Docker.
  • Generación de ETL (extracción, transformación y cargue) de datos de un problema de accidentes de la ciudad de Seattle mediante PythonOperators

Cómo usar el proyecto desde disco local

Para ello es requerido realizar los siguientes pasos:

  1. Descargar Docker en tu sistema operativo
  2. Descargar el repositorio en cuestión mediante el siguiente comando en la terminal:
git clone https://github.com/candemas97/airflow_docker_para_ETL.git
  1. Revisar que se encuentren las tres carpetas necesarias para docker, caso contrario ejecutar en terminal las siguientes sentencias:

Nota:

  • Solo ejecutar si no encuentra dichas carpetas
  • Codigo que se puede ejecutar en UNIX o WINDOWS
Carpeta Comando en terminal
dags mkdir -p ./dags
logs mkdir -p ./logs
plugins mkdir -p ./plugins
  1. Para poder ejecutar el programa se debe correr las siguientes líneas en el terminal de la carpeta asociada:

Nota: Se debe ejecutar en el orden especificado

docker-compose up airflow-init
docker-compose up

Cómo correr el archivo en Airflow

  1. Para ingresar a la aplicación de Airflow donde se encuentra la solución al proyecto se debe colocar la siguiente ruta en el navegador:
localhost:8080
  1. Posterior a ello nos solicitará un usuario y contraseña:
Usuario: airflow
Contraseña: airflow
  1. Una vez allí se debe buscar el proyecto titulado ETL

img1

  1. Activar el ETL

img2

  1. Presionar en un botón de Play y seleccionando la opción Trigger DAG

img3

  1. Se ejecutará el proceso e iniciará ejecución el día siguiente en la hora destinada (en este caso diariamente).

Para saber si ha corrido satisfactoriamente su DAG debe observar todo en color verde: img4 > img5

Breve explicación del código de ejecución del ETL

  1. Dentro de la carpeta dags se encuentra el archivo my_dag.py, dentro de este archivo se puede encontrar:
  • Funciones para generar cada tarea solicitada
  • DAG para automatización del proceso y secuencia de ejecución.
  1. El contenedor de airflow puede ser encontrado ejecutando la sigiente línea en la terminal (en caso dado de querer realizar otro proyecto):
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.0/docker-compose.yaml'

En Linux es necesario establecer la siguiente variable para la ejecución, adicionalmente crear carpeta para establecer volúmenes del contenedor.

echo -e "AIRFLOW_UID=$(id -u)" > .env
  1. Por defecto la línea de terminal mencionada en el paso 2 trae unos ejemplos, si no desea verlos se debe buscar dentro del docker-compose la soguiente variable y ponerla como false.
AIRFLOW__CORE__LOAD_EXAMPLES: 'true'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages