Sobes.tech
Middle

Apache Airflow nima?

sobes.tech AI

AIdan javob

Airflow — bu ochiq manbali platforma bo‘lish, rejalashtirish va ish jarayonlarini (workflows) kuzatish uchun. U Python kodida vazifalarni va ularning bog‘liqliklarini belgilash, ularning grafigini (DAG) vizualizatsiya qilish, jadval yoki triggerlar bo‘yicha vazifalarni ishga tushirish va ularning bajarilishini veb-interfeys orqali kuzatish imkonini beradi.

Airflow ning asosiy komponentlari:

  • Scheduler: Rejalashtirilgan ish jarayonlarini boshlaydi.
  • Webserver: Boshqarish va kuzatish uchun foydalanuvchi interfeysini taqdim etadi.
  • Worker(s): Vazifalarni bajaradi (Executor ga bog‘liq).
  • Database: Ish jarayonlari holati, vazifalar, konfiguratsiya va tarixini saqlaydi.

DAG (Directed Acyclic Graph) — bu Airflow ning asosiy tushunchasi. DAG — bu bog‘langan vazifalar (operatorlar) to‘plami bo‘lib, ular bog‘liqliklar bilan yo‘naltirilgan va siklsiz grafiga ega.

Operatorlar misollari:

  • BashOperator: Bash komandalarini bajaradi.
  • PythonOperator: Python funksiyalarini bajaradi.
  • PostgresOperator: PostgreSQL da SQL so‘rovlarini bajaradi.

Tarqatilgan arxitektura Airflow ni turli executorlar yordamida kengaytirishga imkon beradi:

  • SequentialExecutor: Test uchun, vazifalarni ketma-ket bajaradi.
  • LocalExecutor: Bir mashina ustida vazifalarni parallel bajaradi.
  • CeleryExecutor: Celery yordamida ko‘p workerlar bilan tarqatilgan bajarishni ta’minlaydi.
  • KubernetesExecutor: Har bir vazifani alohida Kubernetes podida bajaradi.

Airflow ning afzalliklari:

  • Dasturlash orqali yaratish: Workflow lar Python kodida belgilangan.
  • Dinamik: DAG lar dinamik ravishda yaratilishi mumkin.
  • Kengaytiriladigan: O‘z operatorlar va hooklarni osongina yaratish mumkin.
  • Kengaytiriladigan: Tizimni kengaytirish imkonini beradi.
  • Foydalanuvchi interfeysi: Kuzatish va boshqarish uchun qulay veb-interfeys.