Sobes.tech
Middle

Čo je DAG v Airflow?

sobes.tech AI

Odpoveď od AI

DAG (Directed Acyclic Graph) v Apache Airflow je struktúra, ktorá opisuje sled úloh (tasks) a ich závislosti vo forme smerovaného acyklického grafu.

Každý vrchol grafu predstavuje úlohu a hrany ukazujú poradie vykonávania: úloha B môže začať až po úspešnom ukončení úlohy A, ak medzi nimi existuje hrana z A do B.

Hlavné vlastnosti DAG v Airflow:

  • Smerovaný — úlohy nasledujú určitý smer, odrážajúc tok dát alebo procesov.
  • Acyklický — neexistujú cykly, aby sa zabránilo nekonečným opakovaniam.

Príklad jednoduchého DAG v Pythone v 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('priklad_dag', default_args=default_args, schedule_interval='@daily')

# Definovanie úloh
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)

# Definovanie závislostí
start >> process >> end

Takto je DAG v Airflow spôso, ako popísať a automatizovať zložité pracovné procesy s jasne stanoveným poradím vykonávania.