MapReduce في Hadoop: المراحل والمدخلات والمخرجات والوظائف والمزايا
نشرت: 2020-12-24Hadoop MapReduce هو نموذج برمجة وإطار عمل برمجي يستخدم لكتابة التطبيقات التي تعالج كميات كبيرة من البيانات. هناك مرحلتان في برنامج MapReduce ، Map و Reduce.
تتضمن مهمة الخريطة تقسيم البيانات وتعيينها عن طريق أخذ مجموعة بيانات وتحويلها إلى مجموعة أخرى من البيانات ، حيث يتم تقسيم العناصر الفردية إلى مجموعات ، أي أزواج مفتاح / قيمة. بعد ذلك ، يتم تبديل المهمة بشكل عشوائي وتقليل البيانات ، مما يعني أنها تجمع مجموعات البيانات استنادًا إلى المفتاح وتعديل قيمة المفتاح وفقًا لذلك.
في إطار عمل Hadoop ، يعد نموذج MapReduce هو المكون الأساسي لمعالجة البيانات. باستخدام هذا النموذج ، من السهل جدًا توسيع نطاق تطبيق لتشغيل ما يزيد عن مئات وآلاف والعديد من الأجهزة الأخرى في مجموعة عن طريق إجراء تغيير في التكوين فقط. هذا أيضًا لأن برامج النموذج في الحوسبة السحابية متوازية في طبيعتها. Hadoop لديه القدرة على تشغيل MapReduce في العديد من اللغات مثل Java و Ruby و Python و C ++. اقرأ المزيد على mapreduce architecture.
جدول المحتويات
مدخلات ومخرجات
يعمل نموذج MapReduce على أزواج <key، value>. وهي ترى مدخلات الوظائف كمجموعة من أزواج <مفتاح ، قيمة> وتنتج مجموعة مختلفة من أزواج <مفتاح ، قيمة> كإخراج للوظائف. يتم دعم إدخال البيانات من قبل فئتين في هذا الإطار ، وهما InputFormat و RecordReader.
يتم استشارة الأول لتحديد كيفية تقسيم بيانات الإدخال لمهام الخريطة ، بينما يقرأ الأخير البيانات من المدخلات. بالنسبة لإخراج البيانات ، يوجد أيضًا فئتان ، هما OutputFormat و RecordWriter. تقوم الفئة الأولى بالتحقق الأساسي من صحة خصائص حوض البيانات ويتم استخدام الفئة الثانية لكتابة كل مخرجات مخفض إلى مصدر البيانات.
ما هي مراحل MapReduce؟
في MapReduce تمر البيانات بالمراحل التالية.

تقسيمات الإدخال: يتم تقسيم الإدخال في نموذج MapReduce إلى أجزاء صغيرة ثابتة الحجم تسمى تقسيمات الإدخال. هذا الجزء من المدخلات تستهلكه خريطة واحدة. بيانات الإدخال هي بشكل عام ملف أو دليل مخزن في HDFS.
التعيين: هذه هي المرحلة الأولى في تنفيذ برنامج تقليل الخريطة حيث يتم تمرير البيانات في كل تقسيم سطرًا سطرًا إلى وظيفة معين لمعالجتها وإنتاج قيم الإخراج.
الخلط: إنه جزء من مرحلة إخراج التعيين حيث يتم دمج السجلات ذات الصلة من المخرجات. يتكون من الدمج والفرز. لذلك ، يتم دمج جميع أزواج المفتاح والقيمة التي لها نفس المفاتيح. في الفرز ، يتم أخذ المدخلات من خطوة الدمج وفرزها. تقوم بإرجاع أزواج القيمة الرئيسية ، فرز الإخراج.
تقليل: يتم دمج جميع القيم من مرحلة الخلط وإرجاع قيمة إخراج واحدة. وبالتالي ، تلخيص مجموعة البيانات بأكملها.
اقرأ أيضًا: Mapreduce أسئلة وأجوبة المقابلة
كيف ينظم MapReduce العمل؟
يقسم Hadoop المهمة إلى جزأين ، مهام الخريطة التي تتضمن التقسيمات والتخطيط ، وتقليل المهام التي تتضمن الخلط والتخفيض. تم ذكر هذه في المراحل في القسم أعلاه. يتم التحكم في تنفيذ هذه المهام من قبل كيانين يسمى JobTracker و Multiple Task tracker.

مع كل وظيفة يتم تقديمها للتنفيذ ، يوجد JobTracker موجود على NameNode ومتعدد مهام تعقب الموجودة على DataNode. يتم تقسيم الوظيفة إلى مهام متعددة يتم تشغيلها على عقد بيانات متعددة في المجموعة. يقوم JobTracker بتنسيق النشاط من خلال جدولة المهام للتشغيل على عقد البيانات المختلفة.
يعتني متتبع المهام بتنفيذ المهام الفردية. كما أنه يرسل تقرير التقدم إلى JobTracker. بشكل دوري ، يرسل إشارة إلى JobTracker لإخطار الحالة الحالية للنظام. عندما يكون هناك فشل في المهمة ، يقوم JobTracker بإعادة جدولة ذلك في متتبع مهام مختلف.
مزايا MapReduce
هناك عدد من المزايا للتطبيقات التي تستخدم هذا النموذج. وهذه هي

- - يمكن التعامل مع البيانات الضخمة بسهولة.
- - يمكن معالجة مجموعات البيانات بشكل متوازي.
- - يمكن معالجة جميع أنواع البيانات مثل الهيكلية وغير المهيكلة وشبه المهيكلة بسهولة.
- - يتم توفير قابلية تطوير عالية.
- - يعد حساب تكرارات الكلمات أمرًا سهلاً ويمكن أن تحتوي هذه التطبيقات على مجموعة ضخمة من البيانات.
- - يمكن الوصول إلى عينات كبيرة من المستجيبين بسرعة.
- - في تحليل البيانات ، يمكن استخدام أداة عامة للبحث في الأدوات.
- - يتم تقديم وقت موازنة التحميل في مجموعات كبيرة.
- - عملية استخراج سياقات مواقع المستخدمين ، والمواقف ، وما إلى ذلك ممكنة بسهولة.
- - تم توفير أداء جيد للتعميم والتقارب لهذه التطبيقات.
يجب أن تقرأ: Mapreduce vs Apache Spark
خاتمة
لقد وصفنا MapReduce في Hadoop بالتفصيل. قدمنا أيضًا وصفًا موجزًا لإطار العمل جنبًا إلى جنب مع تعريفات كل من الخريطة والتقليل في المقدمة. تم تقديم تعريفات المصطلحات المختلفة المستخدمة في هذا النموذج جنبًا إلى جنب مع تفاصيل المدخلات والمخرجات.
شرح مفصل للمراحل المختلفة المتضمنة في إطار عمل MapReduce موضح بالتفصيل كيف يتم تنظيم العمل. تعطي قائمة مزايا استخدام MapReduce للتطبيقات صورة واضحة لاستخدامها وأهميتها
إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
