دور أباتشي سبارك في البيانات الضخمة وما يميزها
نشرت: 2018-05-30برز Apache Spark كبديل أكثر سهولة وإقناعًا لـ Hadoop ، وهو الخيار الأصلي لإدارة البيانات الضخمة. يعد Apache Spark ، مثله مثل أدوات البيانات الضخمة المتطورة الأخرى ، قويًا للغاية ومجهز تجهيزًا جيدًا لمعالجة مجموعات البيانات الضخمة بكفاءة.
من خلال منشور المدونة هذا ، دعنا نساعدك في توضيح النقاط الدقيقة لـ Apache Spark.
جدول المحتويات
ما هو اباتشي سبارك؟
Spark ، بعبارات بسيطة للغاية ، هي معالجة بيانات للأغراض العامة ومحرك معالجة مناسب للاستخدام في مجموعة متنوعة من الظروف. يستخدم علماء البيانات Apache Spark لتحسين الاستعلام والتحليلات وكذلك تحويل البيانات. تتضمن المهام التي يتم إنجازها بشكل متكرر باستخدام Spark استعلامات تفاعلية عبر مجموعات بيانات كبيرة وتحليل ومعالجة دفق البيانات من أجهزة الاستشعار والمصادر الأخرى ، بالإضافة إلى مهام التعلم الآلي.
تم تقديم Spark مرة أخرى في عام 2009 في جامعة كاليفورنيا ، بيركلي. لقد وجدت طريقها إلى حاضنة مؤسسة Apache Software Foundation مرة أخرى في عام 2014 وتم ترقيتها في عام 2014 إلى واحدة من أعلى مشاريع المؤسسة. يعد Spark حاليًا أحد أكثر مشاريع المؤسسة تقييمًا. يشمل المجتمع الذي نشأ حول المشروع كلاً من المساهمين الفرديين غزير الإنتاج وكذلك الداعمين للشركات الممولة تمويلاً جيدًا.
منذ بدء تشغيله ، تم التأكد من أن معظم المهام تحدث في الذاكرة. لذلك ، كان دائمًا أسرع وأفضل بكثير من الأساليب الأخرى مثل MapReduce Hadoop ، الذي يكتب البيانات من وإلى محركات الأقراص الصلبة بين كل مرحلة من مراحل المعالجة. يُزعم أن القدرة في الذاكرة لـ Spark تمنحها سرعة 100x من MapReduce Hadoop. هذه المقارنة ، مهما كانت صحيحة ، ليست عادلة. نظرًا لأنه تم تصميم Spark مع مراعاة السرعة ، في حين تم تطوير Hadoop بشكل مثالي لمعالجة الدُفعات (التي لا تتطلب سرعة معالجة التدفق).
كل ما تحتاج لمعرفته حول Apache Stormماذا تفعل سبارك؟
Spark قادر على التعامل مع بيتابايت من البيانات في وقت واحد. يتم توزيع هذه البيانات عبر مجموعة من آلاف الخوادم المتعاونة - المادية أو الافتراضية. يأتي Apache spark مع مجموعة واسعة من المكتبات وواجهة برمجة التطبيقات التي تدعم جميع اللغات الشائعة الاستخدام مثل Python و R و Scala. غالبًا ما يتم استخدام Spark مع HDFS (نظام الملفات الموزعة Hadoop - نظام تخزين البيانات في Hadoop) ولكن يمكن دمجها بشكل جيد مع أنظمة تخزين البيانات الأخرى.
تتضمن بعض حالات الاستخدام النموذجية لـ Apache Spark ما يلي:
- التدفق السريع والمعالجة: اليوم ، تعد إدارة "تدفقات" البيانات تحديًا لأي متخصص بيانات. تصل هذه البيانات بشكل ثابت ، غالبًا من مصادر متعددة ، وكل ذلك في وقت واحد. في حين أن إحدى الطرق يمكن أن تكون تخزين هذه البيانات في أقراص وتحليلها بأثر رجعي ، فإن هذا سيكلف الشركات خسارة. يمكن معالجة تدفقات البيانات المالية ، على سبيل المثال ، في الوقت الفعلي لتحديد - ورفض - المعاملات التي يحتمل أن تكون احتيالية. أباتشي سبارك يساعد في هذا بالضبط.
- التعلم الآلي: مع زيادة حجم البيانات ، أصبحت مناهج تعلم الآلة أكثر جدوى ودقة. اليوم ، يمكن تدريب البرنامج على تحديد المشغلات والتصرف بناءً عليها ثم تطبيق نفس الحلول على البيانات الجديدة وغير المعروفة. تساعد ميزة Apache Spark المتميزة لتخزين البيانات في الذاكرة في استعلام أسرع ، وبالتالي تجعلها خيارًا ممتازًا لتدريب خوارزميات ML.
- تحليلات التدفق التفاعلي: يرغب محللو الأعمال وعلماء البيانات في استكشاف بياناتهم عن طريق طرح سؤال. لم يعودوا يرغبون في العمل مع الاستعلامات المحددة مسبقًا لإنشاء لوحات معلومات ثابتة للمبيعات أو إنتاجية خط الإنتاج أو أسعار الأسهم. تتطلب عملية الاستعلام التفاعلي هذه أنظمة مثل Spark قادرة على الاستجابة بسرعة.
- تكامل البيانات: يتم إنتاج البيانات عن طريق مجموعة متنوعة من المصادر ونادرًا ما تكون نظيفة. غالبًا ما يتم تنفيذ عمليات ETL (الاستخراج والتحويل والتحميل) لسحب البيانات من أنظمة مختلفة وتنظيفها وتوحيدها ثم تخزينها في نظام منفصل للتحليل. يتم استخدام Spark بشكل متزايد لتقليل التكلفة والوقت اللازمين لذلك.
الشركات التي تستخدم Apache Spark
سارعت مجموعة كبيرة من المنظمات في دعم Apache Spark والتعاون معها. لقد أدركوا أن Spark تقدم قيمة حقيقية ، مثل الاستعلام التفاعلي والتعلم الآلي.
لقد استثمرت شركات مشهورة مثل IBM و Huawei بالفعل مبلغًا كبيرًا في هذه التكنولوجيا ، وتقوم العديد من الشركات الناشئة النامية ببناء منتجاتها في Spark وحولها. على سبيل المثال ، قام فريق Berkeley المسؤول عن إنشاء Spark بتأسيس Databricks في عام 2013. توفر Databricks منصة بيانات مستضافة شاملة مدعومة من Spark.


بدأ جميع بائعي Hadoop الرئيسيين في دعم Spark جنبًا إلى جنب مع منتجاتهم الحالية. تستخدم المنظمات التي تعتمد على الويب مثل Baidu وعملية التجارة الإلكترونية Alibaba Taobao وشركة الشبكات الاجتماعية Tencent جميعًا العمليات القائمة على Spark على نطاق واسع. لإعطائك بعض المنظور لقوة Apache Spark ، تمتلك Tencent 800 مليون مستخدم نشط يولدون أكثر من 800 تيرابايت من البيانات يوميًا للمعالجة.

بالإضافة إلى هذه الشركات العملاقة القائمة على الويب ، تعتمد شركات الأدوية مثل Novartis أيضًا على Spark. باستخدام Spark Streaming ، قاموا بتقليل الوقت المطلوب للحصول على بيانات النمذجة في أيدي الباحثين.
دليل المسافر إلى MapReduceما الذي يميز سبارك عن غيره؟
لنلقِ نظرة على الأسباب الرئيسية التي جعلت Apache Spark سريعًا هو المفضل لدى عالم البيانات:
- المرونة وإمكانية الوصول: بوجود مثل هذه المجموعة الغنية من واجهات برمجة التطبيقات ، تضمن Spark إمكانية الوصول إلى جميع إمكاناتها بشكل لا يصدق. تم تصميم جميع واجهات برمجة التطبيقات هذه للتفاعل بسرعة وكفاءة مع البيانات على نطاق واسع ، مما يجعل Apache Spark مرنًا للغاية. هناك وثائق شاملة لواجهات برمجة التطبيقات هذه ، وهي مكتوبة بطريقة واضحة ومباشرة بشكل غير عادي.
- السرعة: السرعة هي ما تم تصميم سبارك من أجله. سواء في الذاكرة أو على القرص. استخدم فريق Databricks Spark لتحدي 100TB Benchmark. يتضمن هذا التحدي معالجة مجموعة بيانات ضخمة ولكنها ثابتة. تمكن الفريق من معالجة 100 تيرابايت من البيانات المخزنة على SSD في 23 دقيقة فقط باستخدام Spark. الفائز السابق فعل ذلك في 72 دقيقة باستخدام Hadoop. والأفضل من ذلك هو أن Spark يعمل بشكل جيد عند دعم الاستعلامات التفاعلية للبيانات المخزنة في الذاكرة. في هذه المواقف ، يُزعم أن Apache Spark أسرع 100 مرة من MapR.
- الدعم: كما قلنا سابقًا ، يدعم Apache Spark معظم لغات البرمجة الشهيرة بما في ذلك Java و Python و Scala و R. Spark كما يتضمن دعمًا للتكامل الدقيق مع عدد من أنظمة التخزين باستثناء HDFS فقط. علاوة على ذلك ، فإن المجتمع الذي يقف وراء Apache Spark ضخم ونشط وعالمي.
خاتمة
بذلك نصل إلى نهاية منشور المدونة هذا. نأمل أن تكون قد استمتعت بالدخول إلى تفاصيل Apache Spark. إذا أدت مجموعات كبيرة من البيانات إلى اندفاع الأدرينالين لديك ، فإننا نوصيك بالتدريب العملي على Apache Spark وجعل نفسك أحد الأصول!
إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.