Middle
Wat is een DAG in Airflow?
sobes.tech AI
Antwoord van AI
Een DAG (Directed Acyclic Graph) in Apache Airflow is een structuur die de volgorde van taken (tasks) en hun afhankelijkheden beschrijft in de vorm van een gericht acyclisch graaf.
Elke knoop in de graaf vertegenwoordigt een taak, en de randen tonen de uitvoeringsvolgorde: taak B kan pas beginnen nadat taak A succesvol is voltooid, als er een rand van A naar B bestaat.
Belangrijkste kenmerken van de DAG in Airflow:
- Gericht — taken volgen een specifieke richting, wat de stroom van gegevens of processen weerspiegelt.
- Acyclisch — er zijn geen cycli, om eindeloze herhalingen te voorkomen.
Voorbeeld van een eenvoudige DAG in Python in 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('voorbeeld_dag', default_args=default_args, schedule_interval='@daily')
# Taken definiëren
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)
# Afhankelijkheden definiëren
start >> process >> end
Op deze manier is de DAG in Airflow een manier om complexe werkprocessen te beschrijven en te automatiseren met een duidelijk gedefinieerde volgorde van uitvoering.