ما المقصود بمجموعة البيانات الموزعة المرنة (RDD)؟

عرض فكري ثلاثي الأبعاد لأشكال مختلفة

المؤلفين

James Holdsworth

Content Writer

Matthew Kosinski

Staff Editor

IBM Think

ما المقصود بمجموعة البيانات الموزعة المرنة (RDD)؟

مجموعة البيانات الموزعة المرنة (RDD) هي مجموعة غير قابلة للتغيير وقابلة للتعافي من الأخطاء من العناصر التي يمكن توزيعها عبر عدة عقد في العنقود لتتم معالجتها بالتوازي. تُعَد RDD هيكل البيانات الأساسي داخل محرك معالجة البيانات مفتوح المصدر Apache Spark.

تم تطوير Spark لمعالجة العيوب في MapReduce، وهو نموذج برمجة لتقسيم مهمة معالجة بيانات كبيرة إلى مهام أصغر يمكن معالجتها بالتوازي.

يمكن أن يكون MapReduce بطيئًا وغير فعَّال. وهو يتطلب التكرار (الحفاظ على نسخ متعددة من البيانات في مواقع مختلفة)، والتسلسل (تنسيق الوصول إلى الموارد التي يستخدمها أكثر من برنامج واحد)، وعمليات الإدخال/الإخراج المكثفة (الإدخال/الإخراج من تخزين الأقراص).

يقلِّل Spark من المعالجة غير الضرورية على وجه التحديد. بينما يكتب MapReduce البيانات الوسيطة إلى القرص، يستخدم Spark مجموعة RDD لتخزين البيانات وحسابها في الذاكرة. والنتيجة هي أن محرك التحليلات في Spark يمكنه معالجة البيانات بسرعة تتراوح بين 10 إلى 100 مرة أسرع من MapReduce.‏1

مجموعة البيانات الموزعة المرنة (RDD) وApache Spark

يُعَد Apache Spark محرك معالجة بيانات مفتوح المصدر وسريع الحجم يُستخدَم غالبًا لتطبيقات التعلم الآلي (ML) والذكاء الاصطناعي (AI).يمكن اعتبار Spark تحسينًا لبرنامج Hadoop، وبشكل أكثر تحديدًا، لتحسين إطار معالجة البيانات الأصلي في Hadoop، وهو MapReduce.

يتمتع Spark بالقدرة على التوسع من خلال توزيع عمليات سير عمل معالجة البيانات عبر مجموعات كبيرة من الحواسيب، مع دعم مدمج للحوسبة المتوازية على عدة عُقد وتوفير قدرة على التعافي من الأخطاء.

وهو يتضمن واجهات برمجة التطبيقات (APIs) للغات البرمجة الشائعة في علم البيانات وهندسة البيانات، بما في ذلك Java، وPython (PySpark)، وScala وR.

يستخدم Spark مجموعات البيانات الموزعة المرنة (RDDs ) لإدارة البيانات ومعالجتها. يتم تقسيم كل RDD إلى أجزاء منطقية يمكن حسابها على عُقد المجموعة المختلفة في وقت واحد.يمكن للمستخدمين تنفيذ نوعين من عمليات RDD: التحولات والإجراءات.

  • عمليات التحول هي العمليات التي تُنشئ مجموعة RDD جديدة.

  • توجه الأوامر Spark لتطبيق العمليات الحسابية وتمرير النتيجة إلى برنامج تشغيل Spark، وهو العملية التي تدير مهام Spark.

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

تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


تتوفر معارف وأخبار منسقة بمهارة حول الذكاء الاصطناعي والسحابة وغيرها في نشرة Think الإخبارية الأسبوعية. 

آلية عمل مجموعة البيانات الموزعة المرنة (RDD)

تتميز مجموعات البيانات هذه بالمرونة والتوزيع. وهذا يعني:

المرونة

تُعرَف مجموعات RDD بأنها "مرنة" لأنها تتعقب معلومات دورة حياة البيانات بحيث يمكن إعادة بناء البيانات المفقودة في حال حدوث فشل، ما يجعلها مقاومة للأخطاء بشكل كبير.

كمثال على مرونة البيانات هذه، تخيَّل أن إحدى النوى التنفيذية قد تم فقده أثناء معالجة قسم من مجموعة RDD. سيكتشف برنامج التشغيل هذا الفشل، وستتم إعادة تعيين القسم إلى نواة تنفيذية مختلفة.

التوزيع

تُعرَف مجموعات RDD بأنها "موزعة" لأنها تنقسم إلى مجموعات أصغر من البيانات يمكن توزيعها على عُقد الحوسبة المختلفة ومعالجتها في الوقت نفسه.

بالإضافة إلى هاتين السمتين الأساسيتين، تمتلك RDD خصائص أخرى تساهم في أهميتها وعملياتها في Spark.

الحوسبة في الذاكرة

يجب أن تنفِّذ العديد من أطر معالجة البيانات -وخاصةً MapReduce- عدة عمليات قراءة أو كتابة من أنظمة التخزين الخارجية، ما يؤدي إلى بطء في أدائها. تساعد مجموعة RDD برنامج Apache Spark على حل هذه المشكلة.

تقلِّل RDD من عمليات الإدخال/الإخراج على القرص باستخدام الحساب في الذاكرة الذي يخزن النتائج الوسيطة من العمليات التكرارية في ذاكرة الوصول العشوائي (RAM). يمكن أن يُسهم استخدام الحساب والتخزين في الذاكرة في دعم الوصول الأسرع والمعالجة في الوقت شبه الفعلي.

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

التقييم المؤجل

في Spark، تكون جميع التحويلات -العمليات التي تُطبق لإنشاء RDD جديدة- "مؤجلة"، بمعنى أنه لا يتم تحميل البيانات أو حسابها على الفور.

بدلًا من ذلك، يتم تعقب التحويلات في رسم بياني موجّه متكرر (DAG) ويتم تشغيلها فقط عندما يكون هناك استدعاء محدد للعمل لبرنامج التشغيل.

يعمل برنامج التشغيل على توجيه الوظائف الرئيسية والعمليات للحوسبة الموزعة في مهام Spark، مثل التجميع، أو الجمع، أو العد، أو حفظ النتائج في نظام ملفات.

تتضمن العشرات من الإجراءات والتحويلات الممكنة مثل aggregateByKey وcountByKey وflatMap وgroupByKey وreduceByKey وsortByKey.

يساعد التقييم المؤجل على تحسين مسارات معالجة البيانات عن طريق التخلص من المعالجة غير الضرورية وتقليص الحسابات الزائدة.

التقسيم

يعمل Spark على تقسيم مجموعات RDD تلقائيًا عبر عدة عُقد بحيث يمكنه معالجة كميات كبيرة من البيانات التي لا يمكن تخزينها على عقدة واحدة. للمساعدة على تجنب التلف، يتم تخزين كل قسم على عقدة واحدة بدلًا من توزيعه على عُقد متعددة. 

تُتيح RDD للمؤسسات تحديد مكان تقسيمات المعالجة بحيث يمكن تنفيذ المهام بالقرب من البيانات المطلوبة. يساعد هذا الموضع على زيادة سرعة المعالجة.

وبالإضافة إلى ذلك، يمكن زيادة عدد المنفذين (أجهزة الكمبيوتر التي تؤدي المهام كما تم تعيينها من قِبَل برنامج التشغيل) في المجموعة لتعزيز التوازي في النظام. يعتمد مستوى التوازي في الإخراج على كمية الأقسام في RDD الأصل. 

يمكن إنشاء مجموعات RDD في تقسيمات منطقية عبر المجموعة لتمكين العمليات الموازية على عدة عُقد. يمكن إنشاء مجموعات RDD من مصادر تخزين مستقرة متعددة، مثل Amazon Web Services (AWS) S3، ونظام ملفات Hadoop الموزع (HDFS)، وApache HBase وCassandra. ويمكن أيضًا إنشاؤها باستخدام لغات البرمجة مثل Scala وPython.

أكاديمية الذكاء الاصطناعي

هل تعد إدارة البيانات هي سر الذكاء الاصطناعي التوليدي؟

استكشف سبب أهمية البيانات عالية الجودة للاستخدام الناجح للذكاء الاصطناعي التوليدي.

الاستمرارية

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

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

الثبات

تُعَد RDD ثابتة، ما يعني أنه لا يمكن تعديلها بعد إنشائها. يساعد الثبات على استمرار استقرار البيانات مع مرور الوقت عبر عدة عمليات.

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

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

القدرة على التعامل مع البيانات غير المنظمة

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

ومع ذلك،يمكن للمستخدمين الاستفادة من إنشاء DataFrames في Spark، ما يُتيح لهم الاستفادة من بعض التحسينات لتحسين الأداء.

حلول ذات صلة
برمجيات وحلول إدارة البيانات

صمم استراتيجية بيانات تقضي على صوامع البيانات، وتقلل من التعقيدات وتحسّن جودة البيانات للحصول على تجارب استثنائية للعملاء والموظفين.

استكشف حلول إدارة البيانات
IBM watsonx.data

يتيح لك watsonx.data توسيع نطاق التحليلات والذكاء الاصطناعي باستخدام جميع بياناتك، أينما كانت، من خلال مخزن بيانات مفتوح وهجين ومُدار.

اكتشف watsonx.data
خدمات الاستشارات في مجال البيانات والتحليلات

استفِد من قيمة بيانات المؤسسة باستخدام IBM Consulting، من خلال بناء مؤسسة تعتمد على الرؤى التي تقدِّم ميزة للأعمال.

اكتشف خدمات التحليلات
اتخِذ الخطوة التالية

صمم استراتيجية بيانات تقضي على صوامع البيانات، وتقلل من التعقيدات وتحسّن جودة البيانات للحصول على تجارب استثنائية للعملاء والموظفين.

استكشف حلول إدارة البيانات اكتشف watsonx.data
الحاشية

1 Apache Spark™, Apache Software Foundation, 20 December 2024.