مقدمة

مكتمل

MapReduce هو إطار عمل موازٍ للبيانات، تم إنشاؤه في الأصل من خلال Google1، لمعالجة تطبيقات البيانات الضخمة على مجموعات كبيرة من أجهزة الكمبيوتر. يحاول النظام تقليل الاتصال بين العمليات عن طريق نقل الحساب نحو البيانات. كما أنه يتسامح بشفافية مع أخطاء البيانات والحساب، وكليهما محتمل للغاية في إعدادات السحابة واسعة النطاق. يقر المطورون، ومن ثم، بـ MapReduce لقابليته للتوسع والتسامح مع الخطأ والمرونة. الآن، هناك العديد من تنفيذات نموذج برمجة MapReduce المتوفرة للمستخدمين على السحابة، وكثير منها يعتمد على Apache Hadoop.

منذ طرحه، تم ربط MapReduce في كثير من الأحيان بـ Hadoop،3، 4 وهو تنفيذ مفتوح المصدر من MapReduce. ينمو استخدام Hadoop الأكاديمي والحكومي والصناعي بشكل سريع.2 على سبيل المثال، يستخدمه Yahoo! لحوالي 80% إلى 90% من وظائفه5. وآخرون، مثل Facebook وMicrosoft، اعترفوا بالإطار أيضًا.6 تستخدم Academia حاليًا Hadoop لمحاكاة الزلازل ومعالجة اللغات الطبيعية والتنقيب في بيانات الويب، وذلك من ضمن التطبيقات الأخرى التي تستخدمه.7، 8

يعمل Hadoop MapReduce على إجراء معظم العمل المشارك في تنفيذ برامج السحابة من خلال ثلاث استراتيجيات رئيسية:

  • فإنه تلقائيًا يعمل على تقسيم الوظائف إلى مهام موزَّعة لاستخدام بشكل فعال توازي المهمة.
  • فإنه يعتبر منطقة البيانات والتغييرات في أحمال عمل النظام الكلي لجدولة الوظائف والمهام بكفاءة في عقد نظام المجموعة المشاركة.
  • وهو يتسامح بشفافية مع كل من فشل المهام والبيانات.

الأهداف التعليمية

خلال هذه الوحدة النمطية، سوف تتمكن مما يلي:

  • تحديد نموذج البرمجة الموزَّعة الأساسية لـ MapReduce
  • شرح كيفية إمكان MapReduce استغلال توازي البيانات
  • تحديد إدخالات وإخراجات مهام الخريطة والتقليل
  • تحديد مرونة المهمة، والإشارة إلى أهميتها لجدولة الوظائف الفعالة
  • شرح استراتيجيات جدولة مهام الخريطة والتقليل في Hadoop MapReduce
  • سرد عناصر بنية YARN، وتحديد دور كل عنصر
  • تلخيص دورة حياة وظيفة MapReduce في YARN
  • مقارنة بين تباين البنى ومخصصي الموارد من YARN وHadoop MapReduce السابق
  • الإشارة إلى كيفية اختلاف جدولة المهام والوظائف في YARN مقارنة بـ Hadoop MapReduce السابق

المتطلبات الأساسية

  • فهم حوسبة السحابة، بما في ذلك نماذج الخدمة السحابة ومزودو السحابة الشائعون
  • معرفة التقنيات التي تمكّن حوسبة السحابة
  • فهم كيفية دفع موفري خدمة السحابة للسحابة وكيفية دفع رسومها
  • معرفة ما هي مراكز البيانات وسبب وجودها.
  • معرفة كيفية إعداد مراكز البيانات، وتشغيلها، وتوفيرها
  • فهم كيفية توفير موارد السحابة وقياسها
  • كن على دراية بمفهوم الظاهرية
  • معرفة الأنواع المختلفة للمحاكاة الظاهرية
  • فهم ظاهرية وحدة المعالجة المركزية
  • فهم ظاهرية الذاكرة
  • فهم الوضع الظاهري لوحدة الإدخال والإخراج
  • معرفة عن أنواع البيانات المختلفة وكيفية تخزينها
  • كن على دراية بأنظمة الملفات الموزعة وكيفية عملها
  • الإلمام بقواعد بيانات لغة NoSQL البرمجية وتخزين الكائن، وكيفية عملها
  • معرفة البرمجة الموزعة ولماذا تكون مفيدة للمجموعة


المراجع

  1. ي. Dean and S. Ghemawat (Dec. 2004). MapReduce: Simplified Data Processing on Large Clusters OSDI
  2. ح. Herodotou, H. Lim, G. Luo, N. Borisov, L. Dong, F. B. Cetin, and S. Babu (2011). Starfish: A Self-Tuning System for Big Data Analytics CIDR
  3. Z. Fadika and M. Govindaraju (Dec. 2010). LEMO-MR: Low Overhead and Elastic MapReduce Implementation Optimized for Memory and CPU-Intensive Applications IEEE 2nd Int. Conf. on Cloud Computing Technology and Science (CloudCom)
  4. Hadoop
  5. N. B. Rizvandi, A. Y. Zomaya, A. J. Boloori, and J. Taheri (2011). Preliminary Results: Modeling Relation between Total Execution Time of MapReduce Applications and Number of Mappers/Reducers Tech. R. 679, The University of Sydney
  6. S. Ibrahim, H. Jin, L. Lu, S. Wu, B. He, and L. Qi (Dec. 2010). LEEN: Locality/Fairness-Aware Key Partitioning for MapReduce in the Cloud CloudCom
  7. إم. Hammoud and M. F. Sakr (2011). Locality-Aware Reduce Task Scheduling for MapReduce CloudCom
  8. إم. Zaharia, A. Konwinski, A. Joseph, R. Katz, and I. Stoica (2008). تحسين أداء MapReduce في البيئات غير المتجانسة OSDI