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.