Middle
Czym jest DAG w Airflow?
sobes.tech AI
Odpowiedź od AI
DAG (Directed Acyclic Graph) w Apache Airflow to struktura opisująca kolejność zadań (tasks) i ich zależności w postaci skierowanego grafu acyklicznego.
Każdy wierzchołek grafu to zadanie, a krawędzie pokazują kolejność wykonywania: zadanie B może rozpocząć się tylko po pomyślnym zakończeniu zadania A, jeśli istnieje krawędź z A do B.
Główne cechy DAG w Airflow:
- Skierowany — zadania przebiegają w określonym kierunku, odzwierciedlając przepływ danych lub procesów.
- Acykliczny — brak cykli, aby uniknąć nieskończonych powtórzeń.
Przykład prostego DAG w Pythonie w 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('przyklad_dag', default_args=default_args, schedule_interval='@daily')
# Definiujemy zadania
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)
# Definiujemy zależności
start >> process >> end
W ten sposób DAG w Airflow to sposób opisu i automatyzacji złożonych procesów roboczych z jasno określoną kolejnością wykonywania.