Sobes.tech
Middle
33

Что такое DAG в Airflow?

Companies where asked
ИннотехИннотех

Answer from AI

sobes.tech 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('example_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 — это способ описать и автоматизировать сложные рабочие процессы с чётко заданным порядком выполнения задач.