يحتوي هذا المستودع على المهام التي قدمتها لتحليل البيانات الضخمة من Coursera MOOC مع Scala وSpark، والتي قدمتها مدرسة الفنون التطبيقية الفيدرالية في لوزان (EPFL)، والتي يدرسها البروفيسور هيذر سي ميلر.
إن معالجة البيانات الضخمة الموزعة على مجموعة باستخدام المفاهيم الوظيفية أمر منتشر في الصناعة، ويمكن القول إنه أحد الاستخدامات الصناعية الأولى واسعة النطاق للأفكار الوظيفية. ويتجلى ذلك من خلال شعبية MapReduce وHadoop، ومؤخرًا Apache Spark، وهو إطار عمل سريع للمجموعات الموزعة في الذاكرة ومكتوب بلغة Scala. في هذه الدورة، سنرى كيف يمكن توسيع نموذج البيانات الموازي ليشمل الحالة الموزعة، باستخدام Spark طوال الوقت. سنغطي نموذج برمجة Spark بالتفصيل، مع الحرص على فهم كيف ومتى يختلف عن نماذج البرمجة المألوفة، مثل المجموعات المتوازية للذاكرة المشتركة أو مجموعات Scala المتسلسلة. من خلال الأمثلة العملية في Spark وScala، سنتعلم متى يجب أخذ المشكلات المهمة المتعلقة بالتوزيع في الاعتبار، مثل زمن الوصول واتصالات الشبكة، وكيف يمكن معالجتها بفعالية لتحسين الأداء.
مخرجات التعلم. بنهاية هذه الدورة ستكون قادراً على:
الخلفية الموصى بها: يجب أن يكون لديك خبرة في البرمجة لمدة عام على الأقل. يعد إتقان Java أو C# أمرًا مثاليًا، لكن الخبرة في لغات أخرى مثل C/C++ أو Python أو Javascript أو Ruby كافية أيضًا. يجب أن يكون لديك بعض الإلمام باستخدام سطر الأوامر. تهدف هذه الدورة إلى أخذها بعد البرمجة المتوازية: https://www.coursera.org/learn/parprog1.
تاريخ البدء : 4 يناير 2022
تاريخ الانتهاء : 10 يناير 2022
الأسبوع : 1
الدرس : استخدام Scala REPL، باستخدام أداة SBT
الوصف : "الهدف من هذه المهمة هو التعرف على البنية التحتية والأدوات المطلوبة خلال هذا الفصل. على الرغم من أن الدرجة في هذه المهمة سيتم استبعادها من درجتك النهائية للدورة، فمن المهم أن تعمل من خلال هذه المهمة بعناية."
الدرجة : 10/10
الأسبوع : 1
الدرس : أساسيات RDDs الخاصة بـ Spark
الوصف : "في هذه المهمة، سنستخدم بيانات النص الكامل لدينا من ويكيبيديا لإنتاج مقياس أولي لمدى شعبية لغة البرمجة، في محاولة لمعرفة ما إذا كانت تصنيفاتنا المستندة إلى ويكيبيديا لها أي علاقة بلغة Red Monk الشهيرة التصنيفات."
الدرجة : 10/10
الأسبوع : 2 (مهمة مدتها أسبوعين)
الدرس : عمليات التخفيض وأزواج القيمة الرئيسية الموزعة
الوصف : "الهدف العام من هذه المهمة هو تنفيذ خوارزمية k-means الموزعة التي تقوم بتجميع المنشورات على منصة الأسئلة والأجوبة الشائعة StackOverflow وفقًا لدرجاتها. علاوة على ذلك، يجب تنفيذ هذا التجميع بالتوازي مع لغات البرمجة المختلفة، و يجب مقارنة النتائج."
الدرجة : 10/10
الأسبوع : 4
الدرس : SQL، وإطارات البيانات، ومجموعات البيانات
الوصف : "هدفنا هو تحديد ثلاث مجموعات من الأنشطة: الاحتياجات الأساسية (النوم والأكل)، والعمل، وغيرها (الترفيه). ومن ثم ملاحظة كيف يخصص الناس وقتهم بين هذه الأنواع الثلاثة من الأنشطة، وإذا أمكننا أن نرى الفروق بين الرجال والنساء، والعاملين والعاطلين عن العمل، والشباب (أقل من 22 سنة)، والنشطاء (بين 22 و55 سنة) وكبار السن."
الدرجة : 10/10
يجب أن يتم فك ضغط ملفات الموارد حتى يعمل الكود.