شرح MapReduce العمارة ، كل ما تحتاج إلى معرفته

نشرت: 2020-02-27

مع تقدم التكنولوجيا ، تريد كل شركة تخزين بياناتها عبر الإنترنت ومعالجتها. يجلب هذا المطلب طلبًا جديدًا لجمع البيانات الضخمة للمؤسسات من أنشطتها عبر الإنترنت وغير المتصلة بالإنترنت. يجب تخزين البيانات التي يتم جمعها ومعالجتها بشكل فعال.

يعد Hadoop أحد أكثر الأطر شيوعًا لمعالجة البيانات الضخمة ، وأحد أفضل الكتل الداعمة لـ Hadoop هو MapReduce. إذا كنت تبحث عن وظيفة كمحلل بيانات في مجال علم البيانات ، فيجب أن تكون على دراية بلغة البرمجة الصاعدة والشائعة هذه.

جدول المحتويات

أهمية MapReduce في تحليل البيانات

يعالج MapReduce بيانات مقياس واسعة ، بينما ينجز Hadoop برامج MapReduce متتالية مدرجة في لهجات برمجة متعددة ، بما في ذلك C ++ و Python و Ruby on Rails و Java وغيرها الكثير. طبيعة MapReduce متوازية ، مما يجعلها مفيدة جدًا في برمجة كمية هائلة من البيانات التي يمكن أن تستخدمها أجهزة متعددة في شكل مجموعات.

ما هي برمجة MapReduce؟

MapReduce هي وحدة برنامج للحوسبة الموزعة. يعمل على جافا على مرحلتين هما

  1. مرحلة الخريطة
  2. مرحلة التخفيض

لفهم MapReduce ، يجب على كل مبرمج ومبرمج فهم هاتين المرحلتين ووظائفهما.

1. خريطة المرحلة

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

ثم يتم تقسيم المعلومات على أساس طبيعتها. يقوم قارئ السجل بنقل المعلومات المقسمة إلى أزواج ذات قيمة مفتاح ، والتي تُعرف عادةً بزوج (KV). KV هو نموذج بيانات الإدخال الأصلي لمرحلة الخريطة ، والذي يقوم مرة أخرى بمعالجة البيانات داخل أداة تعقب الوظائف. ستكون المعلومات الواردة في النموذج مختلفة لتطبيقات مختلفة. لذلك ، تحتاج إلى تحسين بيانات الإدخال للتشفير وفقًا لذلك.

عندما تأخذ معلومات بتنسيق النص ، ستجد المفتاح ، وهو إزاحة البايت. تستخدم مرحلة الخريطة هذه أيضًا وحدة التجميع والوحدة النمطية للقسم لترميز البرنامج بحيث يؤدي عمليات بيانات غير عادية. ستجد أن توطين البيانات سيحدث فقط في وحدة مخطط البيانات.

  • وحدة الموحد في مرحلة الخريطة

في مرحلة الخريطة ، تُعرف وحدات التجميع أيضًا باسم مخفضات مصغرة. يعتبر المُدمج ضروريًا للتغلب على عرض النطاق الترددي العالي عندما يعالج مصمم الخرائط كمية هائلة من البيانات. من أجل معالجة مشكلة النطاق الترددي العلوي ، تحتاج إلى استخدام منطق التجميع في مرحلة الخريطة للحصول على نتيجة إخراج ممتازة.

  • وحدة التقسيم في مرحلة الخريطة

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

يمكنك حتى استخدام القسم الافتراضي أثناء العملية. إلى جانب ذلك ، هناك أقسام ثابتة وديناميكية تساعد مشغل الكمبيوتر على تقسيم البيانات إلى أشكال متعددة باستخدام أساليب طور التعيين والتخفيض. يمكنك تصميم هذه الأقسام وتخصيصها وفقًا لمتطلبات العمل. ستكون وحدة القسم هذه ذات قيمة في نقل البيانات بين العمليتين المذكورتين أعلاه لهندسة MapReduce.

2. تقليل المرحلة

بعد عمليات مرحلة الخريطة ، ستصبح البيانات المنظمة والمشوشة هي المدخلات لمرحلة التخفيض. خلال هذه المرحلة ، سيتم دمج جميع البيانات التي تم فرزها ، وسيتم النظر في زوج Key-Value الفعلي في إطار عمل HDFS. يلاحظ مؤلفو التسجيل الإحصائيات من مرحلة المخفض إلى إطار عمل HDFS. على الرغم من أن هذه المرحلة اختيارية للبحث ورسم الخرائط ، إلا أنها تلعب دورًا حيويًا في تحسين الأداء.

قراءة: أفضل 10 أدوات Hadoop للبيانات الضخمة

تبدأ هذه المرحلة العملية الفعلية على البيانات المقدمة بواسطة مرحلة الخريطة. تقدم مرحلة الخريطة نتائج مخفض ، مثل part-r-0001. تحتاج أيضًا إلى توفير مجموعة من الأرقام لكل مهمة يريد المستخدمون تتبعها. يمكنك أيضًا تعيين العديد من الأولويات التي سيتم تمكينها لوضع أسماء مواقف معينة.

في هذه المرحلة ، يكون التنفيذ النظري ضروريًا لتشغيل البيانات. إذا كانت المخفضات المتعددة تعالج نفس البيانات وكان المخفض الأول يتعامل ببطء ، فيمكن لمتتبع المهام تعيين المعالجة إلى المخفض التالي المتاح لتسريع العملية. يسمى هذا النوع من التخصيص للمخفض المتاح FIFO ، أي First In First Out.

فهم عملية MapReduce العمارة

فيما يلي النقاط التي يجب أن تضعها في اعتبارك أثناء العمل مع بنية MapReduce في إطار عمل Hadoop.

إنشاء وظيفة مرحلة الخريطة : في بنية MapReduce ، يتم إنشاء وظيفة مرحلة الخريطة الأولى لتقسيم البيانات وتنفيذ وحدات الخريطة لتسجيل البيانات.

تقسيم البيانات : تساعد وحدة التجميع ووحدة القسم البيانات في معالجة العديد من عمليات الفصل. الوقت اللازم لمعالجة مدخلات البيانات بالكامل يكون أعلى عندما يكون معادلاً للوقت اللازم لمعالجة الأقسام. توفر عمليات الفصل الأصغر معالجة وموازنة أفضل للبيانات بطريقة متوازية.

اقرأ أيضًا: ميزات وتطبيقات Hadoop

التقسيم الدقيق : الفواصل الصغيرة جدًا في الحجم ليست مثالية في مرحلة الخريطة ، لأنها تزيد من حمل التعامل مع الأقسام وكائنات إنشاء مهام الخريطة للتحكم في وقت تنفيذ المهمة بأكملها.

بالنظر إلى متوسط ​​حجم التقسيم : من الناحية المثالية ، يجب أن يكون حجم التقسيم 64 ميجا بايت ، ويجب عليك تعيينه كإعداد افتراضي لإنشاء حجم موحد للتقسيمات. يجب أن يكون الحجم المقسم مكافئًا لكتل ​​HDFS.

تنفيذ وحدة HDFS : تتابع إخراج مرحلة الخريطة عملية الكتابة إلى القرص المحلي على الوحدة الفردية للبيانات وليس على وحدة HDFS. لتجنب التكرار ، وهو أمر شائع في HDFS ، تحتاج إلى اختيار محرك أقراص محلي غير HDFS.

منع الازدواجية : مرحلة الخريطة هي الجزء المركزي الذي يعالج البيانات لتغذيتها لمرحلة التخفيض وتقديم النتائج. بمجرد الانتهاء من المهمة ، يمكن حذف إخراج الخريطة ، مما يمنع تكرار البيانات.

النتائج المعروضة لتقليل مهمة المرحلة : يتم تقديم النتائج من مرحلة الخريطة على التوالي لمرحلة التخفيض. في الترتيب ، يتم دمج الإنتاج ومعالجته إلى وظائف التخفيض المحددة من قبل المستخدم.

التخزين المحلي : بصرف النظر عن طريقة الخريطة ، يتم الاحتفاظ بالبيانات من جزء تقليل في HDFS ، وهي أيضًا أول نسخة يتم حفظها في وحدة البيانات المحلية الخاصة بك.

خاتمة

يبسط إطار عمل MapReduce العملية المعقدة لمعالجة البيانات الضخمة المتوفرة في بنية Hadoop. كانت هناك العديد من التغييرات المهمة في لغة البرمجة MapReduce في Hadoop 2.0 بالمقارنة مع Hadoop 1.0.

هناك العديد من الدورات المتاحة لتعلم لغة البرمجة MapReduce. يمكنك الاستفادة من برامج ما بعد التخرج مثل هندسة البيانات الضخمة وبرامج تحليلات البيانات الكبيرة في upGrad لمتابعة مهنة مثمرة في البرمجة. تواصل مع خبرائنا لمعرفة المزيد واكتساب رؤى أفضل حول برامجنا.

إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.

تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

اصقل مهاراتك واستعد للمستقبل

برنامج الشهادة المتقدم في البيانات الضخمة من معهد IIIT بنغالور