Cadres de planification des flux de travail

Introduction à l'ingénierie des données

Vincent Vankrunkelsven

Data Engineer, DataCamp

Un exemple de pipeline

 

Exemple de pipeline simple qui extrait d'un CSV avec Spark

Comment planifier ?

  • Manuellement
  • Outil de planification cron
  • Et les dépendances ?
Introduction à l'ingénierie des données

DAG

Graphe orienté acyclique

  • Ensemble de nœuds
  • Arêtes orientées
  • Aucuns cycles

Exemple de DAG

Introduction à l'ingénierie des données

Les bons outils

 

  • cron de Linux
  • Prefect et Dagster
  • Apache Airflow
Introduction à l'ingénierie des données

Logo d'Apache Airflow

  • Créé chez Airbnb
  • DAG
  • Python
Introduction à l'ingénierie des données

Airflow : exemple de DAG

 

Exemple de DAG Airflow

Introduction à l'ingénierie des données

Airflow : exemple de code

@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(): ...
Introduction à l'ingénierie des données

Airflow : exemple de code

@dag(dag_id="example_dag", ...)
def example_dag():
    ...
    # Définir le flux de dépendances
    cluster = start_cluster()
    customers = ingest_customer_data()
    products = ingest_product_data()
    cluster >> [customers, products]
    [customers, products] >> enrich_customer_data()
# Exécuter le DAG
example_dag()
Introduction à l'ingénierie des données

Passons à la pratique !

Introduction à l'ingénierie des données

Preparing Video For Download...