Frameworks de planificación de workflows

Introducción a la ingeniería de datos

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Un pipeline de ejemplo

 

Ejemplo de pipeline simple que extrae de CSV usando Spark

¿Cómo programar?

  • Manualmente
  • Herramienta cron
  • ¿Y las dependencias?
Introducción a la ingeniería de datos

DAGs

Grafo acíclico dirigido (DAG)

  • Conjunto de nodos
  • Aristas dirigidas
  • Sin ciclos

Ejemplo de DAG

Introducción a la ingeniería de datos

Las herramientas adecuadas

 

  • cron de Linux
  • Luigi de Spotify
  • Apache Airflow
Introducción a la ingeniería de datos

Logo de Apache Airflow

  • Creado en Airbnb
  • DAGs
  • Python
Introducción a la ingeniería de datos

Airflow: un DAG de ejemplo

 

Ejemplo de DAG de Airflow

Introducción a la ingeniería de datos

Airflow: un ejemplo en código

# Create the DAG object
dag = DAG(dag_id="example_dag", ..., schedule_interval="0 * * * *")

# Define operations start_cluster = StartClusterOperator(task_id="start_cluster", dag=dag) ingest_customer_data = SparkJobOperator(task_id="ingest_customer_data", dag=dag) ingest_product_data = SparkJobOperator(task_id="ingest_product_data", dag=dag) enrich_customer_data = PythonOperator(task_id="enrich_customer_data", ..., dag = dag)
# Set up dependency flow start_cluster.set_downstream(ingest_customer_data) ingest_customer_data.set_downstream(enrich_customer_data) ingest_product_data.set_downstream(enrich_customer_data)
Introducción a la ingeniería de datos

¡Vamos a practicar!

Introducción a la ingeniería de datos

Preparing Video For Download...