ما هو Hadoop؟ مقدمة إلى Hadoop والميزات وحالات الاستخدام

نشرت: 2020-01-26

البيانات الضخمة هي بلا شك مجال شائع.

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

"ما هو Hadoop؟"

"ما هي ميزات Hadoop؟"

"كيف يعمل؟"

دعونا نحفر.

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

ما هو Hadoop؟

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

بكلمات بسيطة ، Hadoop عبارة عن مجموعة من الأدوات التي تتيح لك تخزين البيانات الضخمة في بيئة يسهل الوصول إليها وتوزيعها. يمكّنك من معالجة البيانات المتوازية.

كيف تم إنشاء Hadoop

أنشأت Yahoo مكتوب Hadoop في عام 2006 ، وبدأت في استخدام هذه التقنية بحلول عام 2007. تم منحها إلى مؤسسة Apache Software Foundation في عام 2008. ومع ذلك ، حدثت العديد من التطورات ، مما ساعد في إنشاء هذا الإطار القوي.

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

في وقت لاحق من ذلك العام ، أصدرت Google نظام ملفات Google. بعد بضعة أشهر ، أصدرت Google برنامج MapReduce. اقرأ المزيد عن أباتشي سبارك مقابل مابريديوس

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

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

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

مقدمة لمكونات Hadoop

Hadoop هو إطار واسع النطاق. يحتوي على العديد من المكونات التي تساعدك في تخزين البيانات ومعالجتها.

ومع ذلك ، فهي تنقسم في المقام الأول إلى قسمين:

  • HDFS تعني نظام الملفات الموزعة Hadoop
  • غزل

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

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

على الرغم من أنها ليست مهمة مثل القسمين السابقين ، إلا أنها لا تزال كبيرة جدًا.

دعنا نقسم كل قسم من Hadoop لفهمك بشكل أفضل:

HDFS:

يتيح لك نظام الملفات الموزعة Hadoop تخزين البيانات في نماذج يسهل الوصول إليها. يحفظ بياناتك في عقد متعددة ، مما يعني أنه يوزع البيانات.

يحتوي HDFS على عقدة رئيسية وعقد تابعة. العقدة الرئيسية تسمى Namenode ، بينما تسمى العقد التابعة Datanodes. يقوم Namenode بتخزين البيانات الأولية للبيانات التي تخزنها ، مثل موقع الكتلة المخزنة ، وأي كتلة بيانات يتم نسخها ، وما إلى ذلك.

يدير وينظم DataNodes. يتم تخزين بياناتك الفعلية في DataNodes.

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

غزل:

YARN هي اختصار لعبارة "بعد مفاوض موارد آخر". إنه نظام تشغيل مهم ويجد تطبيقات في عمليات البيانات الضخمة.

إنها تقنية جدولة الوظائف وإدارة الموارد. قبل YARN ، كان على متتبع الوظيفة التعامل مع طبقة إدارة الموارد بالإضافة إلى طبقة المعالجة بشكل منفصل.

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

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

MapReduce:

MapReduce هي أداة قوية أخرى موجودة في مجموعة Apache Hadoop. وتتمثل مهمتها الرئيسية في تحديد البيانات وتحويلها إلى تنسيق مناسب لمعالجة البيانات.

يتكون من قسمين: Map and Reduce (وبالتالي الاسم MapReduce). يحدد القسم الأول البيانات ويضعها في أجزاء للمعالجة المتوازية. يلخص القسم الثاني بيانات الإدخال بالكامل.

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

يمكنه العمل بعدة لغات برمجة مثل Python و Java. ستستخدم هذه الأداة عدة مرات كمتخصص في البيانات الضخمة.

Hadoop مشترك:

Hadoop Common عبارة عن مجموعة من الأدوات والبرامج المجانية لمستخدمي Hadoop. إنها مكتبة من الأدوات الرائعة التي يمكن أن تجعل عملك أسهل وأكثر كفاءة.

قراءة: كيف تصبح مسؤول Hadoop؟

الأدوات الموجودة في Hadoop Common موجودة في Java. تمكّن الأدوات نظام التشغيل الخاص بك من قراءة البيانات الموجودة في نظام ملفات Hadoop.

اسم شائع آخر لـ Hadoop Common هو Hadoop Core.

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

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

حل مشاكل البيانات الضخمة بواسطة Hadoop

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

دعونا نناقشهم بالتفصيل

تخزين البيانات

تتعامل البيانات الضخمة مع كميات هائلة من البيانات. وتخزين مثل هذه الكميات الهائلة من خلال الطرق التقليدية غير عملي تمامًا.

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

يقوم Hadoop بتخزين بياناتك في شكل كتل عبر DataNodes المتعددة الخاصة به. لديك خيار تحديد حجم هذه الكتل. على سبيل المثال ، إذا كان لديك 256 ميجابايت من البيانات واخترت الاحتفاظ بكتل البيانات الخاصة بك بسعة 64 ميجابايت ، فسيكون لديك إجمالي 4 مجموعات مختلفة.

سيقوم Hadoop ، من خلال HDFS ، بتخزين هذه الكتل في DataNodes الخاص به. يسهل التخزين الموزع الخاص به القياس أيضًا. يدعم Hadoop التحجيم الأفقي.

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

بيانات غير متجانسة

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

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

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

تعد قدرة Hadoop على تخزين البيانات غير المتجانسة سببًا كبيرًا آخر يجعلها الخيار المفضل للعديد من المؤسسات.

الوصول وسرعة العملية

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

لمعالجة بيانات 1 تيرابايت بجهاز به قناة إدخال / إخراج واحدة بسعة 100 ميجابت في الثانية ، سيستغرق الأمر حوالي 3 ساعات لإكمال العملية. من ناحية أخرى ، إذا كان لديك أربعة أجهزة مختلفة ، فستكتمل العملية في غضون ساعة.

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

في Hadoop ، يرسل MapReduce منطق المعالجة إلى العقد التابعة المتعددة. بهذه الطريقة ، تتم معالجة البيانات المخزنة في العقد التابعة بشكل متوازي. بمجرد معالجة البيانات بالكامل ، ترسل العقد التابعة النتيجة إلى العقدة الرئيسية ، والتي تجمع هذه النتائج وتقدم لك الملخص (العميل).

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

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

ميزات Hadoop

تحظى Hadoop بشعبية كبيرة بين شركات Fortune 500. هذا بسبب قدرات تحليلات البيانات الضخمة. الآن بعد أن عرفت سبب إنشائه وما هي مكوناته ، دعنا نركز على الميزات التي يمتلكها Hadoop.

تحليلات البيانات الضخمة

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

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

الفعالية من حيث التكلفة

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

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

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

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

تحجيم

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

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

علاوة على ذلك ، لن تحتاج إلى تعديل منطق التطبيق لتوسيع نطاق النظام.

تصحيح الخطأ

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

حلول متعددة

لدى Hadoop الكثير من حلول البيانات الضخمة التي تجعل من السهل جدًا على أي محترف التعامل معها. لقد بذل العباقرة في Apache الكثير من الجهد لجعل Hadoop حلاً رائعًا للبيانات الضخمة.

يمكن أن يساعدك حل Hadoop التجاري المسمى Cloudera في العديد من طرق البيانات الضخمة. يمكنه أيضًا تبسيط العمل مع Hadoop لأنه يساعدك في تشغيل Hadoop وتحسينه وتثبيته وتكوينه وفقًا لمتطلباتك.

يحتوي Hadoop Common على الكثير من الأدوات التي تجعل عملك أسهل. نظرًا لأن Hadoop هو أحد منتجات Apache ، فإنه يحتوي على مجتمع مفيد من المحترفين الآخرين المستعدين دائمًا للمساعدة. يحصل على تحديثات منتظمة تعزز أدائه أيضًا.

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

دعونا نناقش بعض حالات الاستخدام البارزة حتى تتمكن من فهم تطبيقاتها.

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

حالات استخدام Hadoop

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

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

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

هناك العديد من الأمثلة على حالات استخدام Hadoop ، والتي تمت مناقشة بعضها أدناه:

وسائل التواصل الاجتماعي

يقوم Facebook وغيره من منصات الوسائط الاجتماعية بتخزين بيانات المستخدم ومعالجتها من خلال تقنيات متعددة (مثل التعلم الآلي).

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

الرعاىة الصحية

توظف المستشفيات Hadoop لتخزين السجلات الطبية لمرضاهم. يمكن أن يوفر لهم الكثير من الوقت والموارد من خلال تخزين البيانات في نظام أساسي يسهل الوصول إليه.

من خلال تخزين بيانات مطالبات المرضى في نظام أساسي يسهل الوصول إليه (Hadoop) ، يمكنهم إدارة هذه السجلات بشكل أفضل.

تعرف على معلومات حول البيانات الضخمة و Hadoop

هل أنت مهتم بمعرفة المزيد عن Hadoop والبيانات الضخمة؟

إذا كنت كذلك ، يمكنك إلقاء نظرة على دورتنا المكثفة حول البيانات الضخمة ، والتي تجعلك على دراية بجميع مفاهيم هذا الموضوع وتجعلك محترفًا معتمدًا في هذا المجال.

إذا كنت مهتمًا بمعرفة المزيد عن تطوير البرامج ، فراجع ماجستير العلوم في علوم الكمبيوتر من جامعة لندن جون مورس (LJMU) المصمم للمهنيين العاملين والعروض 12 + مشروعًا وواجبات ، 1-ON-1 مع مرشدين الصناعة ، 500+ ساعة من التعلم.

خطط لحياتك المهنية اليوم

تقدم بطلب للحصول على برنامج الشهادة المتقدمة في DevOps