Frameworky pro plánování workflow

Introduction to Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Ukázkový pipeline

 

Ukázkový jednoduchý pipeline extrahující data z CSV pomocí Spark

Jak plánovat?

  • Ručně
  • Nástroj cron
  • Co závislosti?
Introduction to Data Engineering

DAG

Directed Acyclic Graph

  • Množina uzlů
  • Orientované hrany
  • Bez cyklů

Ukázkový DAG

Introduction to Data Engineering

Nástroje pro daný úkol

 

  • Linuxový cron
  • Spotify Luigi
  • Apache Airflow
Introduction to Data Engineering

Logo Apache Airflow

  • Vytvořen v Airbnb
  • DAG
  • Python
Introduction to Data Engineering

Airflow: ukázkový DAG

 

Ukázkový DAG v Airflow

Introduction to Data Engineering

Airflow: příklad v kódu

# 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)
Introduction to Data Engineering

Pojďme si procvičit!

Introduction to Data Engineering

Preparing Video For Download...