معمارية أباتشي سبارك: كل ما تحتاج إلى معرفته في عام 2022

نشرت: 2021-01-08

ما هو اباتشي سبارك؟

Apache Spark عبارة عن مجموعة من إطارات عمل الحوسبة المخصصة لمعالجة البيانات مفتوحة المصدر في الوقت الفعلي. الحساب السريع هو حاجة الساعة و Apache spark هو أحد أكثر الأطر كفاءة وسرعة تخطيطًا وتوقعًا لتحقيق ذلك.

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

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

تعابير مهمة للتعلم

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

Apache SparkContext - هذا هو الجزء الأساسي من العمارة. يتم استخدامه لإنشاء الخدمات وتنفيذ الوظائف.

المهمة - كل خطوة لها مهمتها الخاصة التي تعمل خطوة بخطوة.

Apache Spark Shell - بكلمات بسيطة ، إنه في الأساس تطبيق. يعد Apache Spark Shell أحد المشغلات الحيوية حول كيفية معالجة مجموعات البيانات من جميع الأحجام بسهولة تامة.

المرحلة - تسمى الوظائف المختلفة ، عند تقسيمها ، بالمراحل.

الوظيفة - هي مجموعة من العمليات الحسابية التي يتم إجراؤها بشكل متوازي.

جيست من اباتشي سبارك

يعتمد Apache Stark بشكل أساسي على مفهومين. مجموعات البيانات الموزعة المرنة (RDD) والرسم البياني غير الدوري الموجه (DAG). إلقاء الضوء على RDD ، يتضح أنه مخزون من عناصر البيانات مكسور ومحفوظ في عقد العمال. مجموعات بيانات Hadoop والمجموعات المتوازية هما RDDs المدعومان.

الأقدم مخصص لـ HDFS بينما الأخير مخصص لتجمعات Scala. القفز إلى DAG - إنها دورة من الحسابات الرياضية التي يتم إجراؤها على البيانات. هذا يسهل العملية عن طريق التخلص من تنفيذ العمليات المتعددة. هذا هو السبب الوحيد لتفضيل Apache Spark على Hadoop. تعرف على المزيد حول Apache Spark و Hadoop Mapreduce.

نظرة عامة على Spark Architecture

قبل الخوض في العمق ، دعونا نذهب إلى الهندسة المعمارية. يتمتع Apache Spark بهندسة معمارية رائعة حيث يتم دمج الطبقات والمكونات بشكل فضفاض مع الكثير من المكتبات والإضافات التي تقوم بالمهمة بسهولة تامة. بشكل رئيسي ، يعتمد على مفهومين رئيسيين. RDD و DAG. لكي يفهم أي شخص الهندسة المعمارية ، يجب أن يكون لديك معرفة جيدة بمكونات مختلفة مثل Spark Ecosystem وهيكلها الأساسي RDD.

مزايا سبارك

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

مما لا شك فيه أنه يأتي بدون أي تخزين موزع وإدارة مجموعة ، على الرغم من أنه مشهور جدًا بكونه محرك معالجة موزع. كما نعلم ، يعد كل من Compute Engine و Core APIs جزأين منه ، ومع ذلك فإن لديها الكثير لتقدمه - GraphX ​​و Streaming و MLlib و Spark SQL. قيمة هذه الجوانب لا يعرفها أحد. خوارزميات المعالجة والمعالجة المستمرة للبيانات وما إلى ذلك تعتمد على Spark Core APIs فقط.

عمل اباتشي سبارك

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

يمكن أن تلبي Spark ثلاثة أنواع من أحمال العمل

  • وضع الدُفعات - تتم كتابة الوظيفة وتشغيلها من خلال التدخل اليدوي.
  • الوضع التفاعلي - يتم تشغيل الأوامر واحدة تلو الأخرى بعد التحقق من النتائج.
  • وضع التدفق - يعمل البرنامج بشكل مستمر. يتم إنتاج النتائج بعد إجراء عمليات التحويل والإجراءات على البيانات.

Spark Ecosystem و RDD

للحصول على جوهر المفهوم حقًا ، يجب أن يوضع في الاعتبار أن Spark Ecosystem يحتوي على مكونات مختلفة - Spark SQL و Spark Streaming و MLib (مكتبة التعلم الآلي) و Spark R والعديد من المكونات الأخرى.

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

بعد ذلك ، يسمح Spark Streaming للمطورين بإجراء معالجة الدُفعات وتدفق البيانات في وقت واحد. يمكن إدارة كل شيء بسهولة.

علاوة على ذلك ، تحث المكونات الرسومية البيانات على العمل مع مصادر وافرة لتحقيق قدر كبير من المرونة والمرونة في سهولة البناء والتحول.

بعد ذلك ، يتعلق الأمر بـ Spark R المسؤول عن استخدام Apache Spark. يستفيد هذا أيضًا من تنفيذ إطار البيانات الموزع ، والذي يدعم عمليتين على مجموعات البيانات الكبيرة. حتى بالنسبة للتعلم الآلي الموزع ، فإنه يقدم الدعم باستخدام مكتبات التعلم الآلي.

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

علاوة على ذلك ، فإن Spark تدعم Scala. لا داعي لذكر أن Scala هي لغة برمجة تعمل كقاعدة لـ Spark. على العكس من ذلك ، يدعم Spark Scala و Python كواجهة. ليس هذا فقط ، فالخبر السار هو أيضًا أنه يدعم الواجهة. يمكن أيضًا تنفيذ البرامج المكتوبة بهذه اللغة عبر Spark. هنا ، من المهم معرفة أن الرموز المكتوبة في Scala و Python متشابهة إلى حد كبير. اقرأ المزيد عن دور شرارة أباتشي في البيانات الضخمة.

يدعم Spark أيضًا لغتي البرمجة الشائعتين جدًا - R و Java.

خاتمة

الآن بعد أن تعلمت كيفية عمل نظام Spark البيئي ، فقد حان الوقت لاستكشاف المزيد حول Apache Spark من خلال برامج التعلم عبر الإنترنت. تواصل معنا لمعرفة المزيد عن برامج التعليم الإلكتروني الخاصة بنا على Apache Spark.

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

تحقق من دورات هندسة البرمجيات الأخرى لدينا في upGrad.

خطط لوظيفتك في علم البيانات اليوم

7 دراسات الحالة والمشاريع. المساعدة في العمل مع أفضل الشركات. موجه طالب مخصص.
برنامج الشهادة المتقدم في البيانات الضخمة من معهد IIIT بنغالور