تطوير البرمجيات
خطوط بيانات Python باستخدام Apache Airflow
تتوقف مهام cron والبرامج النصية المشغّلة يدوياً عن الصمود بمجرد أن يعتمد تحميل على آخر. يقدّم هذا البرنامج Airflow بوصفه انضباطاً في التنسيق: كتابة DAG بلغة Python، والمهام العديمة الأثر الجانبي، وفترات البيانات وإعادة التعبئة، والمستشعرات، وسياسات المحاولات واتفاقيات مستوى الخدمة، والاختبار، وتشغيل مجدول يمكن الوثوق به ليلاً.
نظرة عامة
تعلم عملي قابل للتطبيق في بيئة العمل.
نادراً ما تكون مشكلة خط البيانات في تحويل ناقص. المشكلة هي الإخفاق عند الثالثة فجراً الذي لا يلاحظه أحد حتى يصل التقرير الصباحي فارغاً، وإعادة التشغيل التي تضاعف الأرقام لأن المهمة تضيف بدل أن تستبدل، والأشهر الستة من السجل التي يتعذر إعادة معالجتها لأن الشيفرة تفترض تاريخ اليوم. ولا يحل Airflow هذه الحالات إلا إذا كُتبت الـDAG لأجلها. يرسّخ هذا البرنامج تلك العادة بشكل مقصود: تُجعل كل مهمة عديمة الأثر الجانبي تجاه فترة بياناتها، وتُصرَّح الاعتماديات بدل استنتاجها من الترتيب، وتحل المستشعرات والمشغّلات المؤجَّلة محل حلقات الاستطلاع، وتُحدَّد سياسات المحاولات والمهل والتنبيه لكل مهمة. ويتعلم المشاركون كذلك اختبار الـDAG وحدوياً.
المتطلبات المسبقة
برمجة جيدة بلغة Python وإلمام بـSQL ومعرفة أساسية بسطر الأوامر والحاويات.
الأهداف
- شرح نموذج التفاعل بين المجدول والمنفّذ وقاعدة البيانات الوصفية في Airflow.
- كتابة DAG واضحة باستخدام واجهة TaskFlow والمزخرفات ومجموعات المهام.
- تصميم مهام عديمة الأثر الجانبي تعطي النتيجة ذاتها في كل إعادة تشغيل أو إعادة تعبئة.
- تنسيق الاعتماديات بين الـDAG والاعتماديات الخارجية عبر المستشعرات والمشغّلات المؤجَّلة.
- ضبط المحاولات والمهل واتفاقيات مستوى الخدمة والتنبيهات لكشف الإخفاقات قبل المستخدمين.
- اختبار الـDAG وإدارة إصداراتها ونشرها عبر عملية ترقية مضبوطة.
الفئة المستهدفة
- مهندسو البيانات الذين يبنون خطوط المعالجة الدفعية ويشغّلونها
- مطورو ETL المنتقلون من cron أو نصوص الصدفة أو المجدولات القديمة
- مهندسو التحليلات المسؤولون عن موثوقية تحديث مستودع البيانات
- مهندسو المنصات وDevOps الذين يستضيفون نشر Airflow ويوسّعونه
- مهندسو تعلم الآلة الذين يجدولون توليد الخصائص ومهام إعادة التدريب
- القادة التقنيون الذين يضعون معايير موثوقية البيانات والمناوبة
محاور البرنامج
هيكل واضح لرحلة التعلم.
محاور البرنامج
تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.
الوحدة 1: بنية Airflow ونموذج الجدولة
المجدول وخادم الويب والعمّال وقاعدة البيانات الوصفية وحلقة تحليل الـDAG
معايير الاختيار بين LocalExecutor وCeleryExecutor وKubernetesExecutor
التاريخ المنطقي وفترة البيانات وcatchup: مصدر معظم الالتباس في الجدولة
التجمعات وأوزان الأولوية وحدود التزامن على مستوى الـDAG والمهمة
الوحدة 2: كتابة الـDAG بلغة Python
مزخرفات TaskFlow مقابل المشغّلات التقليدية وأيهما أوضح في كل حالة
PythonOperator وBashOperator ومشغّلات SQL وحزم المزودين
تمرير البيانات عبر XCom ومتى يُمرَّر مرجع بدلاً منها
مجموعات المهام والتخطيط الديناميكي للمهام وتوليد الـDAG من ملف إعداد
الوحدة 3: انعدام الأثر الجانبي وإعادة التعبئة وإعادة المعالجة
كتابة مهام تستبدل قسماً بدل الإضافة إلى الجدول
إدراج فترة البيانات في المسارات والمرشحات وشروط SQL عبر القوالب
تنفيذ إعادة تعبئة مضبوطة دون إثقال النظام المصدر
البيانات المتأخرة ومسح نسخ المهام وإعادة التشغيل الجزئي الآمن
الوحدة 4: الاعتماديات والمستشعرات والأنظمة الخارجية
الاتصالات والخطافات وإبقاء بيانات الاعتماد خارج شيفرة الـDAG
مستشعرات الملفات والجداول وواجهات البرمجة وتكلفة الاستطلاع على العمّال
المشغّلات المؤجَّلة وخدمة triggerer للانتظار الطويل دون حجز خانة
التنسيق بين الـDAG عبر datasets وExternalTaskSensor وTriggerDagRun
الوحدة 5: الموثوقية والتنبيهات والاختبار
عدد المحاولات والتراجع الأسي ومهل التنفيذ وقواطع الدائرة
تجاوزات اتفاقية مستوى الخدمة والاستدعاءات الراجعة وتوجيه التنبيهات إلى الفريق المعني
فحوص جودة البيانات كمهام أساسية توقف التحميل الخاطئ قبل انتقاله
الاختبار الوحدوي لسلامة الـDAG ومنطق المشغّلات والقوالب المعالجة ضمن التكامل المستمر
الوحدة 6: النشر والبيئات والتشغيل
تشغيل Airflow عبر Docker Compose أو Helm أو خدمة مُدارة
توزيع الـDAG وعزل الاعتماديات وتجنب ملف متطلبات مشترك
ترقية الـDAG من التطوير إلى الاختبار ثم الإنتاج تحت إدارة الإصدارات
مؤشرات صحة المجدول واتجاهات مدة المهام وتخطيط السعة
المواد المقدمة
- دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
- بيئة معملية عملية ومستودعات بداية جاهزة
- تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
- شهادة إتمام من 4D
- دعم فني بعد انتهاء البرنامج
خيارات التدريب
يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.
لماذا البعد الرابع
ترسم 4D خريطة جدولتكم القائمة قبل كتابة أي DAG: مدخلات cron ونصوص الصدفة والتحميل الذي يبدأه أحدهم يدوياً كل أحد، ثم تحوّل أكثرها هشاشة خلال الورشة. ويعمل المدربون مع المهندسين المناوبين، بحيث تعكس سياسات المحاولات واتفاقيات مستوى الخدمة وتوجيه التنبيهات المتفق عليها في القاعة مَن يستجيب فعلياً عند الثالثة فجراً.
دورات ذات صلة
أساسيات البرمجة بلغة Python
مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.
View coursePython المتوسط وممارسات الشيفرة النظيفة
برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.
View courseأتمتة المهام المكتبية والبرمجة النصية بلغة Python
برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.
View course