Sobes.tech
Middle

Ce este DAG în Airflow?

sobes.tech AI

Răspuns de la AI

Un DAG (Graf Orientat Aciclic) în Apache Airflow este o structură care descrie secvența de sarcini (tasks) și dependențele lor sub forma unui graf orientat aciclic.

Fiecare vârf al grafului reprezintă o sarcină, iar muchiile indică ordinea de execuție: sarcina B poate începe doar după finalizarea cu succes a sarcinii A, dacă există o muchie de la A la B.

Caracteristicile principale ale DAG în Airflow:

  • Orientat — sarcinile urmează o direcție specifică, reflectând fluxul de date sau procese.
  • Acyclic — nu există cicluri, pentru a evita repetări infinite.

Exemplu de DAG simplu în Python în 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('exemplu_dag', default_args=default_args, schedule_interval='@daily')

# Definirea sarcinilor
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)

# Definirea dependențelor
start >> process >> end

Astfel, DAG în Airflow este o metodă de a descrie și automatiza procese de lucru complexe cu o ordine clar stabilită de execuție.