Sobes.tech
Middle

Airflow'da DAG nima?

sobes.tech AI

AIdan javob

Apache Airflow'dagi DAG (Yönlendirilmiş Acyclic Graph) — bu, vazifalar (tasks) va ularning bog'liqliklarini yo'naltirilgan siklsiz grafiga ta'riflovchi tuzilma.

Grafning har bir tuguni vazifani ifodalaydi, va qirralar bajarilish tartibini ko'rsatadi: B vazifasi, agar A dan B ga qirra bo'lsa, A muvaffaqiyatli yakunlangandan so'ng boshlanishi mumkin.

Airflow'dagi DAG ning asosiy xususiyatlari:

  • Yo'naltirilgan — vazifalar ma'lum bir yo'nalishda ketadi, ma'lumotlar yoki jarayonlar oqimini aks ettiradi.
  • Siklsiz — tsikllar yo'q, cheksiz takrorlanishlarni oldini olish uchun.

Python'da Airflow bilan oddiy DAG misoli:

from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime

default_args = {'start_date': datetime(2024, 1, 1)}

dag = DAG('misol_dag', default_args=default_args, schedule_interval='@daily')

# Vazifalarni aniqlash
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)

# Bog'lanishlarni aniqlash
start >> process >> end

Shu tarzda, Airflow'dagi DAG murakkab ish jarayonlarini ta'riflash va avtomatlashtirish uchun ishlatiladigan, aniq belgilangan bajarilish tartibiga ega usuldir.