الملخص

مكتمل
  • MapReduce هو إطار عمل موازٍ للبيانات لمعالجة تطبيقات البيانات الضخمة على أنظمة مجموعات كبيرة. Hadoop هو تنفيذ مفتوح المصدر من MapReduce.
  • برامج MapReduce عادة ما يكون لها طور خريطة وطور تقليل. يستخدم MapReduce أيضًا نظام ملفات موزَّعة أساسي، والذي، في حالة Hadoop، يُعد HDFS.
  • في طور الخريطة، يتم تقسيم بيانات الإدخال إلى تقسيمات ومعالجتها بشكل مستقل بواسطة مهام الخريطة. يتم فرز إخراج مهام الخريطة وتبديلها إلى أقسام يتم نسخها لمهام التقليل. تعمل مهام التقليل على معالجة الأقسام وإنتاج الإخراج النهائي.
  • يتم تنسيق البيانات في MapReduce دائمًا كمجموعة من أزواج قيم المفاتيح. يتم استخدام المفاتيح في MapReduce لتبديل البيانات بين أطوار الخريطة والتقليل.
  • تتضمن أمثلة برامج MapReduce التي تمت مناقشتها في هذه الوحدة النمطية WordCount وSort والكشف عن حاقة Sobel.
  • يتضمن نظام مجموعة MapReduce‏ JobTracker (أي العقدة الرئيسية) وTaskTrackers (العقد الثانوية).
  • يعيّن JobTrackers المهام إلى TaskTrackers باستخدام استراتيجية سحب. يراقب JobTrackers‏ TaskTrackers والتقدم الذي أحرزه في تنفيذ المهام من خلال آلية إشارات التزامن.
  • يدعم Hadoop مجدولي الوظائف المتعددين، بما في ذلك FIFO وFair وCapacity، من ضمن أمثلة أخرى.
  • FIFO Scheduler هو المجدول الافتراضي الذي ينفذ الوظائف في الترتيب الذي تصل به إلى نظام المجموعة. لا يعتبر أولوية الوظيفة أو حجمها، ويجب على وظيفة صغيرة قد تستغرق دقائق لتشغيلها انتظار انتهاء وظيفة طويلة الأمد في قائمة الانتظار للإنهاء أولاً.
  • يسمح Fair Scheduler بمشاركة موارد نظام المجموعة بين وظائف متعددة مثل حصول كل الوظائف على مشاركة متساوية من فتحات نظام المجموعة عبر الوقت.
  • Capacity Scheduler هو إصدار أكثر تعقيدًا من Fair Scheduler التي تنشئ قوائم انتظار متعددة الوظائف وتجدول وظائف على أساس الأولوية.
  • يتم تنفيذ مهام الخريطة في Hadoop على العقد الأقرب إلى الانقسام الذي يحتاج إلى معالجة. ومع ذلك، تتم معالجة مهام التقليل على أي عقدة بشكل افتراضي، دون الالتفات إلى المنطقة.
  • يتم توفير تكرار البيانات في Hadoop من قبل HDFS من خلال النسخ المتماثل للكتلة.
  • يتم توفير مرونة المهام في Hadoop عن طريق تنفيذ يمكن تخمينه، حيث تتم مراقبة تقدم المهمة باستمرار من قبل JobTracker وتتم إعادة تنفيذ المهام البطيئة/العالقة على عقدة أخرى كمهام يمكن تخمينها.
  • يوفر Hadoop 2.0 مدير الموارد الجديد يُدعى YARN، الذي يوفر عدة تحسينات على MapReduce 1.0.