15+ أسئلة وأجوبة مقابلة أباتشي سبارك 2022
نشرت: 2021-01-08يعرف أي شخص مطلع على Apache Spark سبب تحولها إلى واحدة من أكثر أدوات البيانات الضخمة تفضيلاً اليوم - فهي تتيح إجراء عمليات حسابية فائقة السرعة.
حقيقة أن Spark تدعم المعالجة السريعة للبيانات الضخمة تجعلها ناجحة مع الشركات في جميع أنحاء العالم. من الأسماء الكبيرة مثل Amazon و Alibaba و eBay و Yahoo إلى الشركات الصغيرة في الصناعة ، اكتسب Spark معجبين هائلين. بفضل هذا ، تبحث الشركات باستمرار عن متخصصي البيانات الضخمة المهرة ذوي الخبرة في المجال في Spark.
بالنسبة لكل من يرغب في الحصول على وظائف متعلقة بملف بيانات Big Data (Spark) ، يجب عليك أولاً كسر مقابلة Spark بنجاح. إليك شيئًا يمكن أن يجعلك تقترب خطوة من هدفك - 15 سؤالًا شائعًا في مقابلة Apache Spark!
- ما هو سبارك؟
Spark هو إطار عمل للبيانات الضخمة مفتوح المصدر يسمح بمعالجة البيانات في الوقت الفعلي. إنه محرك معالجة بيانات للأغراض العامة قادر على التعامل مع أحمال عمل مختلفة مثل الدُفعات والتفاعلية والتكرارية والتدفق. ينفذ Spark عمليات حسابية في الذاكرة تساعد على زيادة سرعة معالجة البيانات. يمكن تشغيله بشكل مستقل أو على Hadoop أو في السحابة.
- ما هو RDD؟
RDD أو مجموعة البيانات الموزعة المرنة هي بنية البيانات الأساسية لـ Spark. إنه تجريد أساسي في Spark يمثل إدخال البيانات في تنسيق كائن. RDD عبارة عن مجموعة كائنات للقراءة فقط وغير قابلة للتغيير يتم فيها تقسيم كل عقدة إلى أجزاء أصغر يمكن حسابها على عقد مختلفة من الكتلة لتمكين معالجة البيانات المستقلة.
- التفريق بين Apache Spark و Hadoop MapReduce.
الفروق الرئيسية بين Apache Spark و Hadoop MapReduce هي:

- برنامج Spark أسهل في البرمجة ولا يتطلب أي أفكار مجردة. MapReduce مكتوب بلغة Java ويصعب برمجته. يحتاج إلى أفكار مجردة.
- يحتوي Spark على وضع تفاعلي ، بينما يفتقر إليه MapReduce. ومع ذلك ، فإن أدوات مثل Pig and Hive تسهل العمل مع MapReduce.
- يسمح Spark بمعالجة الدُفعات والتدفق والتعلم الآلي داخل نفس المجموعة. MapReduce هو الأنسب لمعالجة الدُفعات.
- يمكن لـ Spark تعديل البيانات في الوقت الفعلي عبر Spark Streaming. لا يوجد توفير في الوقت الفعلي في MapReduce - يمكنك فقط معالجة مجموعة من البيانات المخزنة.
- تسهل Spark العمليات الحسابية ذات زمن الانتقال المنخفض عن طريق تخزين النتائج الجزئية مؤقتًا في الذاكرة. هذا يتطلب مساحة ذاكرة أكبر. على العكس من ذلك ، فإن MapReduce موجه للقرص يسمح بالتخزين الدائم.
- نظرًا لأن Spark يمكنه تنفيذ مهام المعالجة في الذاكرة ، فيمكنه معالجة البيانات بشكل أسرع بكثير من MapReduce.
- ما هو المتجه المتناثر؟
يتكون المتجه المتناثر من صفيفين متوازيين ، أحدهما للمؤشرات والآخر للقيم. يتم استخدامها لتخزين الإدخالات غير الصفرية لتوفير مساحة الذاكرة.
- ما هو التقسيم في سبارك؟
يستخدم التقسيم لإنشاء وحدات بيانات أصغر ومنطقية للمساعدة في تسريع معالجة البيانات. في Spark ، كل شيء عبارة عن RDD مقسم. تعمل الأقسام على موازاة معالجة البيانات الموزعة مع الحد الأدنى من حركة مرور الشبكة لإرسال البيانات إلى مختلف المنفذين في النظام.
- تحديد التحول والعمل.
كل من التحويل والعمل عبارة عن عمليات يتم تنفيذها داخل RDD.
عندما يتم تطبيق وظيفة التحويل على RDD ، فإنها تنشئ RDD آخر. مثالان للتحويل هما map () و filer () - بينما تطبق map () الوظيفة المنقولة إليها على كل عنصر من عناصر RDD وتنشئ RDD آخر ، ينشئ عامل التصفية () RDD جديدًا بتحديد مكونات من RDD الحالي الذي ينقل حجة الوظيفة. يتم تشغيله فقط عند حدوث الإجراء.
يقوم الإجراء باسترداد البيانات من RDD إلى الجهاز المحلي. يقوم بتشغيل التنفيذ باستخدام رسم بياني النسب لتحميل البيانات في RDD الأصلي ، وإجراء جميع التحويلات الوسيطة ، وإرجاع النتائج النهائية إلى برنامج التشغيل أو كتابتها إلى نظام الملفات.
- ما هو رسم النسب؟
في Spark ، تعتمد RDDs على بعضها البعض. يسمى التمثيل الرسومي لهذه التبعيات بين RDDs بالرسم البياني للنسب. باستخدام المعلومات من الرسم البياني للنسب ، يمكن حساب كل RDD عند الطلب - في حالة فقدان جزء من RDD المستمر ، يمكن استرداد البيانات المفقودة باستخدام معلومات الرسم البياني للنسب.
- ما هو الغرض من SparkCore؟
SparkCore هو المحرك الأساسي لـ Spark. يؤدي مجموعة من الوظائف الحيوية مثل التسامح مع الأخطاء ، وإدارة الذاكرة ، ومراقبة الوظائف ، وجدولة العمل ، والتفاعل مع أنظمة التخزين.

- قم بتسمية المكتبات الرئيسية لنظام Spark البيئي.
المكتبات الرئيسية في Spark Ecosystem هي:
- Spark Streaming - يتم استخدامه لتمكين تدفق البيانات في الوقت الفعلي.
- Spark MLib- إنها مكتبة Spark's Machine Learning التي تستخدم بشكل شائع في خوارزميات التعلم مثل التصنيف والانحدار والتكتل وما إلى ذلك.
- Spark SQL - يساعد في تنفيذ استعلامات تشبه SQL على بيانات Spark من خلال تطبيق التصور القياسي أو أدوات ذكاء الأعمال.
- Spark GraphX - إنها واجهة برمجة تطبيقات Spark لمعالجة الرسوم البيانية لتطوير الرسوم البيانية التفاعلية وتحويلها.
- ما هو الغزل؟ هل يلزم تثبيت Spark على جميع عقد مجموعة YARN؟
Yarn هي منصة إدارة موارد مركزية في Spark. إنه يتيح تسليم عمليات قابلة للتطوير عبر مجموعة Spark. بينما Spark هي أداة معالجة البيانات ، YARN هو مدير الحاوية الموزعة. تمامًا كما يمكن تشغيل Hadoop MapReduce على YARN ، يمكن تشغيل Spark أيضًا على YARN.
ليس من الضروري تثبيت Spark على جميع عقد مجموعة YARN لأن Spark يمكن أن تعمل فوق YARN - فهي تعمل بشكل مستقل عن التثبيت. كما يتضمن أيضًا تكوينات مختلفة للتشغيل على YARN مثل master ، و queue ، و publish-mode ، وذاكرة driver-memory ، وذاكرة المنفذ ، ونافذة النوى.
- ما هو إطار عمل الحفاز؟
إطار عمل Catalyst هو إطار عمل تحسين فريد في Spark SQL. الغرض الرئيسي من إطار عمل المحفز هو تمكين Spark من تحويل استعلامات SQL تلقائيًا عن طريق إضافة تحسينات جديدة لتطوير نظام معالجة أسرع.
- ما هي الأنواع المختلفة لمديري المجموعات في Spark؟
يتكون إطار عمل Spark من ثلاثة أنواع من مديري المجموعات:
- مستقل - يستخدم المدير الأساسي لتكوين مجموعة.
- Apache Mesos - مدير مجموعة Spark المدمج والمعمم يمكنه تشغيل Hadoop MapReduce والتطبيقات الأخرى أيضًا.
- الغزل - مدير الكتلة للتعامل مع إدارة الموارد في Hadoop.
- ما هي عقدة العامل؟
العقدة العاملة هي "العقدة التابعة" للعقدة الرئيسية. يشير إلى أي عقدة يمكنها تشغيل رمز التطبيق في كتلة. لذلك ، تقوم العقدة الرئيسية بتعيين العمل للعقد العاملة التي تؤدي المهام المعينة. تقوم العقد العاملة بمعالجة البيانات المخزنة بداخلها ثم تقديم التقارير إلى العقدة الرئيسية.

- ما هو Spark Executor؟
Spark Executor هي عملية تقوم بتشغيل الحسابات وتخزين البيانات في عقدة العامل. في كل مرة يتصل SparkContext بمدير الكتلة ، فإنه يكتسب Executor على العقد داخل الكتلة. يقوم هؤلاء المنفذون بتنفيذ المهام النهائية التي تم تعيينها لهم بواسطة SparkContext.
- ما هو ملف باركيه؟
ملف باركيه هو ملف بتنسيق عمودي يسمح لـ Spark SQL بعمليات القراءة والكتابة. استخدام ملف الباركيه (تنسيق عمودي) له مزايا عديدة:
- يستهلك تنسيق تخزين العمود مساحة أقل.
- يحافظ تنسيق تخزين العمود على عمليات الإدخال والإخراج قيد الفحص.
- يسمح لك بالوصول إلى أعمدة محددة بسهولة.
- يتبع ترميزًا خاصًا بالنوع ويقدم بيانات تلخيصًا أفضل.
هناك - قمنا بتيسيرك في Spark. ستساعدك هذه المفاهيم الأساسية الخمسة عشر في Spark على البدء في استخدام Spark.
إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.
تحقق من دورات هندسة البرمجيات الأخرى لدينا في upGrad.