عن المشروع
Apache Airflow هي منصة مصممة لتأليف وجدولة ومراقبة سير العمل. من خلال تعريف سير العمل ككود (الرسوم البيانية الموجهة غير الحلقية أو DAGs)، تصبح هذه العمليات أكثر قابلية للصيانة، والتتبع عبر الإصدارات، والاختبار. تتضمن المنصة مجدولاً يقوم بتنفيذ المهام على العمال بناءً على تبعيات محددة، وواجهة سطر أوامر غنية لإدارة DAGs، وواجهة مستخدم لتصور أنابيب البيانات واستكشاف الأخطاء وإصلاحها.
تشمل القدرات الرئيسية ما يلي:
- توليد أنابيب بيانات ديناميكية: يتم تعريف سير العمل بلغة Python، مما يسمح بالتوليد الديناميكي وتحديد المعلمات.
- القابلية للتوسع: توفر مجموعة واسعة من المشغلات المدمجة وتدعم التوسعات المخصصة.
- المرونة: تدمج محرك قوالب Jinja لإجراء تخصيصات غنية.
- حالات استخدام واسعة: بينما تُستخدم بشكل أساسي لأنابيب البيانات، تُستخدم أيضاً لتنسيق سير عمل تعلم الآلة (التدريب، التقييم، النشر) وأحمال العمل القائمة على AI/LLM.
- واجهة مراقبة: تتميز بواجهة شاملة تتضمن نظرات عامة على DAG، ورسوم بيانية لتبعيات الأصول، وتمثيلات شبكية ورسومية لعمليات التشغيل، وأدوات ملء البيانات السابقة (backfilling).
تم تصميم Airflow لسير العمل الثابت أو الذي يتغير ببطء، وتؤكد على المهام المتماثلة (idempotent). هي ليست حلاً للبث المباشر (streaming) ولكن يمكنها معالجة البيانات في الوقت الفعلي على شكل دفعات. تدعم قواعد بيانات متنوعة بما في ذلك PostgreSQL و MySQL و SQLite (للتطوير)، ويمكن نشرها عبر PyPI أو صور Docker أو Helm Charts.