Sobes.tech
Middle

Šta je DAG u Airflow?

sobes.tech АИ

Одговор од АИ

DAG (Directed Acyclic Graph) u Apache Airflow je struktura koja opisuje redosled zadataka (tasks) i njihove zavisnosti u obliku usmerenog acikličnog grafa.

Svaka vrh grafa predstavlja zadatak, a ivice pokazuju redosled izvršavanja: zadatak B može započeti samo nakon uspešnog završetka zadatka A, ako postoji ivica od A do B.

Glavne osobine DAG u Airflow-u:

  • Usmeren — zadaci slede u određenom pravcu, odražavajući tok podataka ili procesa.
  • Acilkličan — nema ciklusa, kako bi se izbegli beskonačni ponovci.

Primer jednostavnog DAG-a u Python-u u Airflow-u:

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

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

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

# Definisanje zadataka
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)

# Definisanje zavisnosti
start >> process >> end

Na ovaj način, DAG u Airflow-u je način za opis i automatizaciju složenih radnih procesa sa jasno definisanim redosledom izvršavanja.