نبذة عن الدورة
تقدّم هذه الدورة فهماً معمّقاً لـ Apache Spark باستخدام Scala، اللغة الأصلية لـ Spark. وسيتعرّف المشاركون على البنية الأساسية لـ Spark، وRDDs، وDataFrames، وSpark SQL، والمعالجة المتدفقة المهيكلة (Structured Streaming)، وتعلّم الآلة باستخدام MLlib، مع التركيز على كيفية إسهام Scala في تعزيز أداء Spark وقابليته للتوسع. وستغطي المختبرات العملية بناء مسارات فعّالة للبيانات الضخمة، وتحسين مهام Spark، ونشر تطبيقات واقعية.
منهجية التدريب
مختبرات برمجة عملية – كتابة تطبيقات Spark وتنفيذها بلغة Scala
عروض توضيحية حية – استعراض قدرات Spark باستخدام بيانات واقعية
دراسات حالة – تطبيق Spark في سيناريوهات الأعمال والقطاعات المختلفة
التعلّم التعاوني – حل المشكلات بشكل جماعي ونقاشات تفاعلية
مشروع تخرّج – تنفيذ مسار متكامل للبيانات الضخمة قائم على Spark
الكفاءات المستهدفة
- المكوّنات الأساسية لـ Apache Spark ونموذج التنفيذ
- العمل مع Spark RDDs وDataFrames وSpark SQL
- معالجة البيانات الموزعة باستخدام Scala في Spark
- تحسين الأداء وضبط تنفيذ المهام
- المعالجة المتدفقة في الوقت الفعلي باستخدام Spark Structured Streaming
- تعلّم الآلة باستخدام Spark MLlib
- نشر تطبيقات Spark وإدارتها في بيئة الإنتاج
أهداف الدورة
بنهاية الدورة، سيكون المشاركون قادرين على:
- فهم بنية Apache Spark ومكوّناته ودور Scala فيه
- تنفيذ تحويلات Spark وإجراءاته باستخدام Scala
- معالجة البيانات المهيكلة وشبه المهيكلة باستخدام DataFrames وSpark SQL
- تحسين مهام Spark لتحقيق أداء فعّال
- تطوير نماذج تعلّم الآلة باستخدام MLlib
- بث البيانات ومعالجتها في الوقت الفعلي باستخدام Spark Structured Streaming
- نشر تطبيقات Spark على العناقيد السحابية والمحلية
محاور الدورة
الوحدة 1: مقدمة إلى Apache Spark وScala
- نظرة عامة على البيانات الضخمة والحوسبة الموزعة
- ما هو Apache Spark؟ – التطور وحالات الاستخدام والفوائد
- منظومة Spark: Core وSQL وStreaming وMLlib وGraphX
- إعداد بيئة تطوير Scala لـ Spark
- مقدمة إلى صياغة Scala وأنواع البيانات والبرمجة الوظيفية
الوحدة 2: بنية Apache Spark ونموذج التنفيذ
- فهم مكوّنات عنقود Spark – المشغّل (Driver) والمنفّذات (Executors) والمهام (Tasks)
- RDDs مقابل DataFrames مقابل Datasets – الفروق الرئيسية
- نموذج التنفيذ في Spark: التحويلات والإجراءات
- إدارة الذاكرة وتقسيم البيانات في Spark
- نشر تطبيقات Spark في الوضع المحلي ووضع العنقود
الوحدة 3: العمل مع Spark RDDs باستخدام Scala
- مقدمة إلى مجموعات البيانات الموزعة المرنة (RDDs)
- إنشاء RDDs وتحويلها والاحتفاظ بها
- التقييم الكسول (Lazy Evaluation) وتحمّل الأعطال في Spark
- عمليات RDD الشائعة: map وfilter وflatMap وreduceByKey
- تحسين الأداء: الخلط (Shuffling) والتقسيم (Partitioning) والتخزين المؤقت (Caching)
الوحدة 4: DataFrames وSpark SQL باستخدام Scala
- مقدمة إلى DataFrames وDatasets
- إنشاء DataFrames من CSV وJSON وParquet وJDBC
- إجراء تحويلات البيانات وعمليات التجميع
- استخدام Spark SQL للاستعلام عن البيانات المهيكلة
- تحسين الأداء باستخدام Catalyst Optimizer
الوحدة 5: هندسة البيانات المتقدمة باستخدام Apache Spark
- التقسيم (Partitioning) والتجزئة (Bucketing) لتحسين الأداء
- التعامل مع تطوّر المخطط (Schema Evolution) وهياكل البيانات المتداخلة
- التكامل مع التخزين السحابي (AWS S3 وAzure Blob وGoogle Cloud Storage)
- إدارة مسارات عمل البيانات باستخدام Apache Airflow وApache Kafka
الوحدة 6: تعلّم الآلة باستخدام Spark MLlib في Scala
- مقدمة إلى Spark MLlib لتعلّم الآلة القابل للتوسع
- هندسة الخصائص (Feature Engineering) والمعالجة المسبقة للبيانات في Spark
- تدريب نماذج تعلّم الآلة وتقييمها
- بناء مسارات متكاملة لتعلّم الآلة في Spark
- ضبط المعاملات الفائقة (Hyperparameter Tuning) ونشر النماذج
الوحدة 7: معالجة البيانات في الوقت الفعلي باستخدام Spark Streaming
- مقدمة إلى Spark Structured Streaming
- مصادر البيانات المتدفقة – Kafka وAWS Kinesis وAzure Event Hubs
- المعالجة ذات الحالة (Stateful) والمعالجة حسب وقت الحدث (Event-Time) باستخدام Structured Streaming
- التعامل مع البيانات المتأخرة الوصول وغير المرتبة
- حالات استخدام واقعية للمعالجة المتدفقة – كشف الاحتيال وتحليلات إنترنت الأشياء (IoT)
الوحدة 8: تحسين الأداء وتصحيح الأخطاء في Spark
- فهم واجهة Spark UI وخطة تنفيذ المهام
- أفضل الممارسات لإدارة الذاكرة وتحسين عمليات الخلط (Shuffle)
- المتغيرات المُذاعة (Broadcast Variables) والمُراكِمات (Accumulators) لتحسين الأداء
- تصحيح أخطاء تطبيقات Spark والتعامل مع الإخفاقات
- تحسين شيفرة Scala لرفع أداء Spark
الوحدة 9: نشر تطبيقات Apache Spark
- تشغيل Spark على عناقيد Standalone وYARN وKubernetes
- نشر تطبيقات Spark على AWS EMR وAzure HDInsight وGCP Dataproc
- مسارات CI/CD لتطبيقات Spark
- استخدام Databricks لعمليات نشر Spark القابلة للتوسع