الصفحة الرئيسية
الموضوعات
MapReduce
تم التحديث: 19 نوفمبر 2024
المساهمون: Jim Holdsworth و Matthew Kosinski
MapReduce هو نموذج برمجي يستخدم المعالجة المتوازية لتسريع معالجة البيانات على نطاق واسع. يتيح لك MapReduce قابلية التوسع الهائلة عبر مئات أو آلاف الخوادم داخل مجموعة Hadoop.
يشير الاسم "MapReduce" إلى المهمتين التي ينفذهما النموذج للمساعدة على "تقسيم" مهمة معالجة البيانات الكبيرة إلى العديد من المهام الأصغر التي يمكن تشغيلها بشكل أسرع بالتوازي.
نموذج برمجة MapReduce هو أحد مكونات المعالجة الأساسية في صميم Apache Hadoop، وهو إطار عمل برمجي مفتوح المصدر تدعمه مؤسسة Apache Software Foundation ومبني على لغة البرمجة Java.
يمكن أيضًا استخدام نموذج MapReduce خارج Hadoop.
تعرّف على كيفية العثور على أساس البيانات المفتوح والموثوق المناسب لاحتياجات عملك.
يساعد MapReduce في تقسيم مشاريع معالجة البيانات إلى أجزاء أصغر حتى تتمكن من العمل بشكل أسرع.
قد يستغرق استخدام معالج واحد لتحليل ملف ضخم يحتوي على تيرابايتات أو بيتابايتات من البيانات، على سبيل المثال، 10 ساعات. يمكن لوظيفة MapReduce تقسيم ملف البيانات نفسه إلى 10 مهام تعمل بالتوازي على 10 معالجات. قد تستغرق هذه المهمة ساعة أو أقل لتشغيلها. يمكن تجميع البيانات من عقد الحوسبة الموزعة لإنتاج النتائج.
في حين أن رسم الخرائط والاختزال هما الوظيفتان الأساسيتان لنموذج MapReduce، فإن العملية الشاملة تتضمن بضع خطوات أخرى.
يقبل تطبيق MapReduce بيانات الإدخال، والتي يمكن أن تتضمن بيانات منظمة أو بيانات غير منظمة. تطبيقات MapReduce تعمل عادةً مع ملفات الإدخال المخزنة في نظام الملفات الموزعة Hadoop (HDFS)، ولكن يمكن أن يعمل النموذج مع مصادر البيانات الأخرى أيضًا. (لمزيد من المعلومات، راجع "MapReduce ضمن النظام البنائي Hadoop".)
بالنسبة لوظيفة معينة، يساعد إطار عمل MapReduce في تحديد الخوادم الموزعة وإدارة الاتصالات ونقل البيانات ودعم تحمل الأخطاء والتكرار.
يتم تقسيم بيانات الإدخال إلى كتل أصغر. يتم توزيع هذه الكتل على المُخطِّطات—وهي الدوال التي تقوم بالتخطيط في الخطوة التالية، والموجودة في عقد مختلفة. يهدف إطار عمل MapReduce إلى تخصيص موحد تقريبًا للبيانات عبر المُخطِّطات لتحقيق موازنة تحميل فعالة.
في كل عقدة، تعالج دالة الخريطة البيانات التي تتلقاها، وتحول البيانات إلى أزواج مفاتيح/قيمة.
يتم تحديد العدد الإجمالي للمُخطِّطات ضمن إطار عمل Hadoop، بناءً على الحجم الإجمالي للبيانات وكتل الذاكرة المتاحة على كل مخطط. يمكن تعيين معلمات المُخطِّطات والمُختزلات وتنسيقات الإخراج داخل مجموعة Hadoop العنقودية.
يفرز إطار عمل Hadoop مخرجات الخريطة ويعين جميع أزواج المفاتيح/القيم التي لها نفس "المفتاح" (الموضوع) إلى نفس المُختزل. على سبيل المثال، في مجموعة بيانات المدن ودرجات حرارتها المرتفعة يوميًا، ستنتقل أي بيانات تحتوي على مفتاح "طوكيو" إلى نفس المُختزل.
المُختزل، كما يوحي اسمه، هو الدالة التي تنفذ خطوة الاختزال.
تقوم دوال الاختزال بمعالجة أزواج المفتاح/القيمة التي يصدرها المُخطِّطات. ويمكن أن يتضمن ذلك الدمج أو الجدولة أو إجراء عمليات أخرى على البيانات، اعتمادًا على نوع المعالجة المطلوبة.
يمكن إجراء التخطيط والاختزال على نفس مجموعة الخوادم، ولكن هذا أمر اختياري.
يقوم كل مُختزل بإخراج النتائج من معالجته إلى HDFS أو مخزن بيانات آخر.
بغض النظر عن كمية البيانات التي تريد المجموعة تحليلها، تظل المبادئ الأساسية كما هي.
في هذا المثال، تتضمن مجموعة البيانات المدن (المفاتيح) ودرجات الحرارة اليومية المقابلة (القيم) المسجلة لكل مدينة. قد يبدو نموذج زوج المفاتيح/القيم كما يلي: < تورنتو، 18 >.
تنتشر البيانات عبر ملفات متعددة. قد يتضمن كل ملف بيانات من مزيج من المدن، وقد يتضمن نفس المدينة عدة مرات.
ومن مجموعة البيانات هذه، يريد المستخدم تحديد "درجة الحرارة العظمى" لكل مدينة عبر الفترة التي تم تتبعها.
قد يبدو تنفيذ MapReduce للتعامل مع هذه المهمة كما يلي:
نظام Hadoop البنائي عبارة عن مجموعة من الوحدات مفتوحة المصدر المصممة للعمل معًا لتعزيز الكفاءة. هناك وحدات تشكل إطار عمل Hadoop الرئيسي، بما في ذلك MapReduce بالإضافة إلى 3 وحدات أخرى:
HDFS هو نظام ملفات موزعة لتخزين بيانات التطبيقات على ما يصل إلى آلاف الخوادم السلعية.
تم تصميم HDFS لتوفير تحمل الأخطاء في Hadoop وتوفير وصول سريع إلى البيانات. يتم نسخ كتل البيانات عبر عقد متعددة في وقت التحميل أو الكتابة بشكل افتراضي.
تتميز بنية HDFS بوجود NameNode لإدارة مساحة اسم نظام الملفات والوصول إلى الملفات، بالإضافة إلى DataNodes متعددة لإدارة تخزين البيانات.
Apache Hadoop, YARN مفتوح المصدر، وهو إطار عمل لجدولة الوظائف وإدارة موارد المجموعة. فهو يدعم أحمال تشغيل متعددة، مثل SQL Query والنمذجة المتقدمة والبث في الوقت الفعلي.
هذه الوحدة عبارة عن مجموعة من أدوات الموارد والمكتبات التي تدعم وحدات Hadoop الأخرى. وتُعرف أيضًا باسم Hadoop Core، وتتضمن موارد متعددة للتعافي التلقائي من الأعطال، والتجريد على مستوى نظام الملفات وعلى مستوى نظام التشغيل، وملفات أرشيف Java (JAR) والبرامج النصية، بالإضافة إلى المزيد.
بالإضافة إلى إطار عمل Hadoop الرئيسي، يشمل نظام Hadoop البنائي أيضًا:
توفر برمجة MapReduce العديد من الفوائد التي يمكن أن تساعد المؤسسة في اكتساب رؤى قيّمة من تحليلات البيانات الكبيرة، مثل:
يمكن لـ MapReduce التعامل بكفاءة مع العديد من حالات الاستخدام المباشرة، على الرغم من أن مهام معالجة البيانات المعقدة قد تعمل بشكل أسرع على التطبيقات الأخرى. فيما يلي بعض التطبيقات المناسبة لنهج المعالجة المتوازية لـ MapReduce:
تم إنشاء نموذج برمجة MapReduce في عام 2004 من قِبل عالِمَي الحاسوب في Google وهما Jeffery Dean و Sanjay Ghemawat. يهدف نموذج MapReduce إلى تبسيط تحويل وتحليل مجموعات البيانات الضخمة من خلال المعالجة الموازية الضخمة على مجموعات كبيرة من الأجهزة السلعية. ويتيح للمبرمجين التركيز على الخوارزميات بدلاً من إدارة البيانات.
بينما قدمت جوجل أول إطار عمل MapReduce، ربما يكون Apache Hadoop MapReduce هو الأكثر شعبية.
لقد أدى MapReduce دورًا رئيسيًا في تطوير تحليلات البيانات الكبيرة، ولكن له عيوبه. على سبيل المثال، لا يتم عادةً الاحتفاظ بالبيانات في الذاكرة بواسطة MapReduce، ولا يمكن تحقيق المنطق التكراري إلا من خلال ربط تطبيقات MapReduce معًا. وتضيف هذه العوامل تعقيدًا أكبر ويمكن أن تؤدي إلى إطالة أوقات المعالجة.
بينما لا يزال MapReduce مستخدمًا على نطاق واسع—خاصةً في الأنظمة القديمة—تنتقل العديد من المؤسسات إلى أطر عمل أسرع أو أكثر تخصصًا، مثل Apache Spark، لتطبيقات البيانات الكبيرة.
صمم استراتيجية بيانات تقضي على صوامع البيانات، وتقلل من التعقيدات وتحسّن جودة البيانات للحصول على تجارب استثنائية للعملاء والموظفين.
يتيح لك watsonx.data توسيع نطاق التحليلات والذكاء الاصطناعي باستخدام جميع بياناتك، أينما كانت، من خلال مخزن بيانات مفتوح وهجين ومُدار.
استفِد من قيمة بيانات المؤسسة مع IBM® Consulting، من خلال بناء مؤسسة تعتمد على الرؤى التي تقدِّم ميزة للأعمال.
استكشف الفوائد من العمل باستخدام مستودع بحيرة البيانات، بما في ذلك بيانات أكثر جدارة بالثقة وتنفيذ أكثر موثوقية للتحليلات ومشاريع الذكاء الاصطناعي.
دليل قائد البيانات لبناء مؤسسة قائمة على البيانات لتعزيز ميزة الأعمال.
Apache Hadoop هو إطار برمجي مفتوح المصدر يوفر معالجة موزعة موثوقة للغاية لمجموعات البيانات الكبيرة باستخدام نماذج برمجة بسيطة.