Middle
Какво е DAG в Airflow?
sobes.tech AI
Отговор от AI
DAG (Directed Acyclic Graph) в Apache Airflow е структура, която описва последователността на задачите (tasks) и техните зависимости под формата на насочен ацикличен граф.
Всяка върхова точка на графа представлява задача, а ръбовете показват реда на изпълнение: задачата B може да започне само след успешно завършване на задачата A, ако между тях има ръб от A към B.
Основните характеристики на DAG в Airflow:
- Насочен — задачите следват определена посока, отразявайки потока на данни или процеси.
- Ацикличен — няма цикли, за да се избегнат безкрайни повторения.
Пример за прост DAG на Python в 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('primer_dag', default_args=default_args, schedule_interval='@daily')
# Определяне на задачите
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)
# Определяне на зависимостите
start >> process >> end
По този начин, DAG в Airflow е начин за описание и автоматизация на сложни работни процеси с ясно зададен ред на изпълнение.