ربط جانب الخريطة مقابل. انضم



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

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

انضم عبارة عن جملة تجمع بين سجلات جدولين (أو مجموعات بيانات).
افترض أن لدينا جدولين A و B. عندما نجري عملية ضم عليهما ، فإنه سيعيد السجلات التي هي مزيج من جميع الأعمدة o f A و B.





الآن دعونا نفهم وظيفة الانضمام العادي بمثال ..

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



  • يشبه الانضمام على جانب الخريطة الصلة ولكن سيتم تنفيذ كل المهمة بواسطة مصمم الخرائط وحده.

  • ستكون صلة جانب الخريطة مناسبة في الغالب للجداول الصغيرة لتحسين المهمة.



كيف سينضم جانب الخريطة لتحسين المهمة؟

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

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

مزايا استخدام ربط جانب الخريطة:

  • تساعد صلة Map-side في تقليل التكلفة المتكبدة للفرز والدمج في ملف خلط و خفض مراحل.
  • تساعد الصلة Map-side أيضًا في تحسين أداء المهمة عن طريق تقليل الوقت لإنهاء المهمة.

عيوب ربط جانب الخريطة:

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

مثال بسيط لخريطة تقليل الصلات:

فئة pojo في جافا مع المثال

دعونا ننشئ جدولين:

  • إمب : يحتوي على تفاصيل الموظف مثل اسم الموظف ومعرف الموظف والقسم الذي ينتمي إليه.

  • القسم: يحتوي على تفاصيل مثل اسم القسم ومعرف القسم وما إلى ذلك.

فئة عشوائية في مثال جافا

قم بإنشاء ملفي إدخال كما هو موضح في الصورة التالية لتحميل البيانات في الجداول التي تم إنشاؤها.

الموظف. xt

dept.txt

الآن ، دعونا نحمل البيانات في الجداول.

دعونا نؤدي جانب الخريطة انضم في الجدولين لاستخراج قائمة الأقسام التي يعمل بها كل موظف.

هنا ، قسم الجدول الثاني طاولة صغيرة. تذكر أن عدد الأقسام سيكون دائمًا أقل من عدد الموظفين في المؤسسة.

الآن دعنا نؤدي نفس المهمة بمساعدة الصلة ذات الجانب المصغر العادي.

أثناء تنفيذ كلا الصمتين ، يمكنك إيجاد الاختلافين:

  • أكملت Map-تقليل Join المهمة في وقت أقل مقارنةً بالوقت المستغرق في الانضمام العادي.

  • أكملت Map -rid Join مهمتها دون مساعدة أي مخفض بينما نفذت الوصلة العادية هذه المهمة بمساعدة مخفض واحد.

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

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

لم يكن هناك وقت أفضل لإتقان Hadoop! ابدأ الآن مع دورة البيانات الضخمة و Hadoop المنسقة خصيصًا من Edureka.

ما هو الإجراء في SQL

المراجع:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919

المنشورات ذات الصلة:

7 طرق يمكن أن يغيرها التدريب على البيانات الضخمة مؤسستك