Frameworks voor workflows plannen

Introductie tot Data Engineering

Vincent Vankrunkelsven

Data Engineer, DataCamp

Een voorbeeldpijplijn

 

Voorbeeld van een simpele pijplijn die uit csv extraheert met Spark

Hoe plan je?

  • Handmatig
  • Tool cron
  • En afhankelijkheden?
Introductie tot Data Engineering

DAG's

Gerichte acyclische graaf

  • Verzameling knooppunten
  • Gerichte randen
  • Geen cycli

Voorbeeld-DAG

Introductie tot Data Engineering

De juiste tools

 

  • Linux cron
  • Prefect en Dagster
  • Apache Airflow
Introductie tot Data Engineering

Logo van Apache Airflow

  • Ontwikkeld bij Airbnb
  • DAG's
  • Python
Introductie tot Data Engineering

Airflow: een voorbeeld-DAG

 

Voorbeeld van een Airflow-DAG

Introductie tot Data Engineering

Airflow: een codevoorbeeld

@dag(dag_id="example_dag",
     start_date=datetime(2024, 1, 1),
     schedule="0 * * * *")
def example_dag():

@task def start_cluster(): ... @task def ingest_customer_data(): ... @task def ingest_product_data(): ... @task def enrich_customer_data(): ...
Introductie tot Data Engineering

Airflow: een codevoorbeeld

@dag(dag_id="example_dag", ...)
def example_dag():
    ...
    # Stroom van afhankelijkheden instellen
    cluster = start_cluster()
    customers = ingest_customer_data()
    products = ingest_product_data()
    cluster >> [customers, products]
    [customers, products] >> enrich_customer_data()
# Voer de DAG uit
example_dag()
Introductie tot Data Engineering

Laten we oefenen!

Introductie tot Data Engineering

Preparing Video For Download...