Sobes.tech
Middle

Qu'est-ce qu'un DAG dans Airflow?

sobes.tech IA

Réponse de l'IA

Un DAG (Graph Orienté Acyclique) dans Apache Airflow est une structure qui décrit la séquence des tâches (tasks) et leurs dépendances sous forme d’un graphe orienté acyclique.

Chaque sommet du graphe représente une tâche, et les arêtes indiquent l’ordre d’exécution : la tâche B ne peut commencer qu’après la réussite de la tâche A, s’il existe une arête de A à B.

Principales caractéristiques du DAG dans Airflow :

  • Orienté — les tâches suivent une direction spécifique, reflétant le flux de données ou de processus.
  • Acyclique — il n’y a pas de cycles, pour éviter les répétitions infinies.

Exemple d’un DAG simple en Python dans Airflow :

from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime

default_args = {'start_date': datetime(2024, 1, 1)}

dag = DAG('exemple_dag', default_args=default_args, schedule_interval='@daily')

# Définir les tâches
start = BashOperator(task_id='start', bash_command='echo Start', dag=dag)
process = BashOperator(task_id='process', bash_command='echo Processing', dag=dag)
end = BashOperator(task_id='end', bash_command='echo End', dag=dag)

# Définir les dépendances
start >> process >> end

Ainsi, le DAG dans Airflow est une façon de décrire et d’automatiser des processus de travail complexes avec un ordre d’exécution clairement défini.