منصوبے کے بارے میں

Apache Airflow ایک ایسا پلیٹ فارم ہے جسے ورک فلوز کی تیاری، شیڈولنگ اور مانیٹرنگ کے لیے ڈیزائن کیا گیا ہے۔ ورک فلو کو کوڈ (Directed Acyclic Graphs یا DAGs) کے طور پر بیان کرنے سے وہ زیادہ قابلِ دیکھ بھال، ورژن ایبل اور ٹیسٹ ایبل بن جاتے ہیں۔ اس پلیٹ فارم میں ایک شیڈولر شامل ہے جو مخصوص انحصار (dependencies) کی بنیاد پر ورکرز پر ٹاسکس کو ایگزیکیوٹ کرتا ہے، DAG مینجمنٹ کے لیے ایک جامع کمانڈ لائن انٹرفیس، اور پائپ لائنز کی ویژولائزیشن اور ٹربل شوٹنگ کے لیے ایک یوزر انٹرفیس موجود ہے۔ اہم صلاحیتوں میں شامل ہیں: - Dynamic Pipeline Generation: ورک فلوز Python میں بیان کیے جاتے ہیں، جو ڈائنامک جنریشن اور پیرامیٹائزیشن کی اجازت دیتے ہیں۔ - Extensibility: یہ وسیع پیمانے پر بلٹ ان آپریٹرز فراہم کرتا ہے اور کسٹم ایکسٹینشنز کو سپورٹ کرتا ہے۔ - Flexibility: بھرپور کسٹمائزیشن کے لیے Jinja ٹیمپلیٹنگ انجن کے ساتھ مربوط ہے۔ - Broad Use Cases: اگرچہ بنیادی طور پر اسے ڈیٹا پائپ لائنز کے لیے استعمال کیا جاتا ہے، لیکن یہ مشین لرننگ ورک فلوز (ٹریننگ، ایویلیویشن، ڈیپلائمنٹ) اور AI/LLM پر مبنی ورک لوڈز کو آرکیسٹریٹ کرنے کے لیے بھی استعمال ہوتا ہے۔ - Monitoring UI: اس میں ایک جامع انٹرفیس شامل ہے جس میں DAG اوور ویوز، اثاثوں کے ڈیپینڈینسی گراف، رنز کی گرڈ اور گراف نمائندگی، اور بیک فلنگ ٹولز شامل ہیں۔ Airflow کو اسٹیٹک یا آہستہ تبدیل ہونے والے ورک فلوز کے لیے ڈیزائن کیا گیا ہے اور یہ idempotent ٹاسکس پر زور دیتا ہے۔ یہ کوئی اسٹریمنگ سلوشن نہیں ہے لیکن بیچز (batches) میں ریئل ٹائم ڈیٹا پروسیس کر سکتا ہے۔ یہ PostgreSQL، MySQL، اور SQLite (ترقی کے لیے) سمیت مختلف ڈیٹا بیسز کو سپورٹ کرتا ہے، اور اسے PyPI، Docker images، یا Helm Charts کے ذریعے ڈیپلائے کیا جا سکتا ہے۔