पाठ 1 / 25

Airflow क्या है और क्या नहीं

Airflow को workflow orchestrator के रूप में वर्णित करें और जानें कि उसका उपयोग किसके लिए नहीं करना चाहिए।

Orchestrator है, data engine नहीं

Apache Airflow workflows को लिखने, schedule करने और monitor करने वाला open-source platform है। Workflow निर्भरताओं वाले tasks का DAG (directed acyclic graph) है, जो सामान्य Python में परिभाषित होता है। Airflow तय करता है कि चीज़ें कब चलें, किस क्रम में, विफलताओं को retry करता है और इतिहास UI में दर्ज करता है। यह orchestrator है: उसे Spark, warehouse, dbt या API को भारी काम करने को कहना चाहिए, अपने workers के भीतर बड़े datasets प्रोसेस नहीं करने चाहिए। यह स्पष्ट schedule वाले batch workflows के लिए बना है, real-time streaming के लिए नहीं।

Python में परिभाषित करें, schedule पर चलाएँ

आप workflows Python कोड में लिखते हैं; Airflow उन्हें schedule करता है, tasks क्रम से चलाता है और दिखाता है कि क्या हुआ।

चार चरण: परिभाषित, schedule, निष्पादन, निगरानी।
चित्र 1.1 — परिभाषित, schedule, निष्पादन और निगरानी।

रेलवे कंट्रोल रूम

कंट्रोल रूम समय-सारणी तय करता है, संकेत देता है कि कौन-सी गाड़ी आगे बढ़े और देरी दर्ज करता है। वह गाड़ियाँ ख़ुद नहीं खींचता; इंजन खींचते हैं। Airflow समय-सारणी तय और monitor करता है; खींचने का काम आपके systems करते हैं।

सही tool चुनें

Event streams के लिए Kafka या Flink; एक server पर एक cron job के लिए सादी cron प्रविष्टि काफ़ी हो सकती है। जब कई निर्भर steps हों और retries, इतिहास व दृश्यता चाहिए, तब Airflow चुनें।

त्वरित जाँच: Airflow किसमें सबसे अच्छा है?

  • Real-time stream processing
  • अपने workers के भीतर विशाल datasets प्रोसेस करना
  • निर्भर tasks के batch workflows को schedule और monitor करना
  • Web pages परोसना
Answer

निर्भर tasks के batch workflows को schedule और monitor करना — Airflow orchestration करता है; भारी काम उन systems में होना चाहिए जो उसके लिए बने हैं।