Sobes.tech
Middle

Co je to DAG v Airflow?

sobes.tech AI

Odpověď od AI

DAG (Directed Acyclic Graph) v Apache Airflow je struktura, která popisuje posloupnost úkolů (tasks) a jejich závislosti ve formě směrovaného acyklického grafu.

Každý vrchol grafu představuje úkol a hrany ukazují pořadí provádění: úkol B může začít až po úspěšném dokončení úkolu A, pokud mezi nimi existuje hrana z A do B.

Hlavní vlastnosti DAG v Airflow:

  • Směrovaný — úkoly jdou určitým směrem, odrážejíc tok dat nebo procesů.
  • Acyklický — neexistují cykly, aby se zabránilo nekonečným opakováním.

Příklad jednoduchého DAG v Pythonu 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')

# Definice úkolů
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)

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

Tímto způsobem je DAG v Airflow způsob, jak popsat a automatizovat složité pracovní procesy s jasně stanoveným pořadím provádění.