معالجة البيانات في Hadoop: شرح مكونات Hadoop [2022]

نشرت: 2021-01-03

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

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

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

اللبنات الأساسية لـ Hadoop هي كما يلي: -

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

اللبنات الأساسية من Hadoop

1. HDFS (طبقة التخزين)

كما يوحي الاسم ، فإن Hadoop Distributed File System هو طبقة تخزين Hadoop وهو مسؤول عن تخزين البيانات في بيئة موزعة (التكوين الرئيسي والتابع). يقوم بتقسيم البيانات إلى عدة كتل من البيانات وتخزينها عبر عقد بيانات مختلفة. يتم أيضًا نسخ كتل البيانات هذه عبر عقد بيانات مختلفة لمنع فقدان البيانات عند تعطل إحدى العقد.

لديها عمليتان رئيسيتان تعملان لمعالجة البيانات: -

أ. NameNode

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

ب. داتاينود

تعمل هذه العملية على كل آلة تابعة. تتمثل إحدى وظائفه في تخزين كل كتلة بيانات HDFS في ملف منفصل في نظام الملفات المحلي الخاص به. بمعنى آخر ، يحتوي على البيانات الفعلية في شكل كتل. يرسل إشارات دقات القلب بشكل دوري وينتظر الطلب من NameNode للوصول إلى البيانات.

2. MapReduce (طبقة المعالجة)

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

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

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

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

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

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

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

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

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

ب. مرحلة المراوغة والفرز

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

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

ج. مرحلة التخفيض

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

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

3. YARN (طبقة الإدارة)

ومع ذلك ، فإن Resource Navigator هو عنصر إدارة الموارد في Hadoop. هناك عمليات خلفية تعمل في كل عقدة (Node Manager على الأجهزة التابعة و Resource Manager على العقدة الرئيسية) التي تتواصل مع بعضها البعض لتخصيص الموارد. مدير الموارد هو حجر الزاوية في طبقة YARN التي تدير الموارد بين جميع التطبيقات وتمرر الطلبات إلى Node Manager.

يراقب Node Manager استخدام الموارد مثل الذاكرة ووحدة المعالجة المركزية وقرص الجهاز وينقلها إلى إدارة الموارد. يتم تثبيته على كل عقدة بيانات وهو مسؤول عن تنفيذ المهام على عقد البيانات.

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

خاتمة

يمكن تلخيص سير العمل بأكمله لمعالجة البيانات على Hadoop على النحو التالي: -

  • المدخلات _ يقسم منطقيًا البيانات الموجودة على HDFS إلى عدة كتل من البيانات. يتم اتخاذ القرار بشأن كيفية تقسيم البيانات بواسطة Inputformat .
  • يتم تحويل البيانات إلى أزواج ذات قيمة مفتاح بواسطة RecordReader. RecordReader يحول البيانات الموجهة للبايت إلى بيانات موجهة للتسجيل. هذه البيانات بمثابة مدخلات لمخطط الخرائط.
  • يقوم المخطط ، وهو ليس سوى وظيفة محددة من قبل المستخدم ، بمعالجة أزواج قيم المفاتيح هذه ويولد أزواجًا وسيطة للمفتاح والقيمة لمزيد من المعالجة.
  • يتم تقليل هذه الأزواج محليًا (ضمن نطاق مخطط واحد) بواسطة المجمعات لتقليل كمية البيانات التي سيتم نقلها من مخطط الخرائط إلى المخفض.
  • يضمن Partitioner أن يتم دمج جميع القيم التي لها نفس المفتاح معًا في نفس المخفض وأن المهام موزعة بالتساوي بين المخفضات.
  • يتم بعد ذلك خلط أزواج القيمة الرئيسية الوسيطة هذه إلى مخفضات السرعة وفرزها على أساس المفاتيح. يتم تغذية هذه النتيجة للمخفضات كمدخلات.
  • تقوم وظيفة التصغير بتجميع القيم لكل مفتاح ويتم تخزين النتيجة مرة أخرى في HDFS باستخدام RecordWriter. قبل إعادة كتابتها إلى HDFS ، يتم تحديد التنسيق الذي يجب كتابة البيانات به بواسطة Outputformat .

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

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

إتقان تكنولوجيا المستقبل - البيانات الضخمة

400+ ساعة من التعلم. 14 لغة وأدوات. حالة الخريجين IIIT-B.
برنامج الشهادة المتقدم في البيانات الضخمة من معهد IIIT بنغالور