انتقل إلى المحتوى الرئيسي

Apache Spark ML

بناء نماذج تعلّم آلي على أحجام بيانات لا تتّسع لها ذاكرة آلة واحدة، بأدوات موزَّعة صارت المعيار الصناعي: Apache Spark وسِلسِلة MLlib.

مدّة الدورة: 7 ساعات

ما ستتعلّمه

  • تمييز الحالات التي يصير فيها Spark ضروريًّا، وتلك التي يكفي فيها pandas على آلة واحدة
  • قراءة معمارية Spark: المحرّك والمنفّذون والأقسام والمهامّ، وترجمة الأخطاء إليها
  • كتابة سلاسل DataFrame و Spark SQL مع فهم ما يفعله محسِّن Catalyst وراء الكواليس
  • إدراك التقييم الكسول والفرق بين التحويلات الضيّقة والواسعة، وقراءة explain
  • قراءة ملفّات Parquet مقسَّمة بمخطَّط صريح، والاستفادة من تقليم الأقسام
  • تجميع المتغيّرات عبر VectorAssembler و StringIndexer و OneHotEncoder و StandardScaler
  • بناء Pipeline و CrossValidator موزَّع من دون أن تتسرَّب معلومات التحقّق إلى التدريب
  • اختيار خوارزمية من بين المتاح في MLlib، ومعرفة ما ينقص ومتى يجب اللجوء إلى بديل خارجي
  • ضبط عدد الأقسام والذاكرة ومقاومة عدم توازن المفاتيح، وقراءة واجهة Spark UI
  • كتابة النتائج بصيغة Parquet مقسَّمة، وحفظ خطّ إنتاج مدرَّب لإعادة تحميله في التسجيل
  • تسليم مشروع كامل يتوقّع تأخّرات الرحلات الجوّية على عشرات ملايين السطر

المتطلّبات المسبقة

  • بايثون (الدورة 02)
  • تعلّم آلي مُشرَف (الدورة 04)
  • هندسة المتغيّرات (الدورة 06)
  • إلمام بأساسيّات SQL يفيد لكنّه ليس شرطًا

وحدات الدورة

  1. معمارية Spark: المحرّك والمنفّذون والأقسام
  2. RDD و DataFrame و Dataset
  3. التحويلات والإجراءات والتقييم الكسول
  4. قراءة البيانات والصيغ العمودية
  5. Spark ML: المحوّلات والمقدِّرات
  6. خطوط المعالجة والتحقّق المتقاطع الموزّع
  7. الخوارزميات المتاحة وقيودها
  8. الضبط: الأقسام والذاكرة والخلط
  9. كتابة النتائج والتكامل مع الأنظمة اللاحقة
  10. مشروع: نموذج مدرَّب على مجموعة بيانات كبيرة

الخيط الأحمر

تعبر الوحدات العشر مشروعًا واحدًا: توقُّع تأخُّر الرحلات الجوّية على تاريخ حركة جوّية علنيّ يضمّ عشرات ملايين الرحلات، مخزَّن بصيغة Parquet مقسَّمة بالسنة والشهر. سنبدأ بقراءة الحاجة إلى Spark أصلًا (1)، ثمّ نبني السلسلة تدريجًا: قراءة موزَّعة (4)، تحضير للمتغيّرات (5)، خطّ إنتاج مع تحقّق متقاطع (6)، اختيار خوارزمية مناسبة (7)، ضبط الأداء (8)، كتابة نموذج قابل لإعادة التحميل (9)، ومقارنة نهائية مع نسخة عيّنة صغيرة على pandas (10). التنفيذ محلّي على PySpark لتيسير التطوير، مع صناديق جانبية لتشغيله على عنقود أو Databricks.

التقييم والشهادة

يُختتم المسار باختبار من 40 سؤالًا يغطّي الوحدات العشر: متى Spark مبالَغ فيه، فخّ التحويل الواسع، تكلفة استنتاج المخطَّط، تجميع المتّجهات، تسرُّب التحقّق خارج الـPipeline، الخوارزمية الغائبة، عدم توازن المفاتيح، وأوضاع الكتابة. عند النجاح تُمنَح شهادة إتمام فوريّة، رقمها قابل للتحقّق من أي طرف على المنصّة.