Apache Spark في Azure التعلم الآلي

يوفر تكامل Azure التعلم الآلي مع Azure Synapse Analytics وصولا سهلا إلى موارد الحساب الموزعة من خلال إطار عمل Apache Spark. يوفر هذا التكامل تجارب حوسبة Apache Spark هذه:

  • حساب Spark بلا خادم
  • تجمع Synapse Spark المرفق

حساب Spark بلا خادم

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

يمكن للمستخدمين تحديد الموارد، بما في ذلك نوع المثيل وإصدار وقت تشغيل Apache Spark. يمكنهم بعد ذلك استخدام هذه الموارد للوصول إلى حساب Spark بلا خادم، في دفاتر ملاحظات Azure التعلم الآلي، من أجل:

النقاط الواجب مراعاتها

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

الميزات:

  • لا توجد تبعيات على إنشاء موارد Azure أخرى ل Apache Spark (تعمل البنية الأساسية ل Azure Synapse تحت الغطاء).
  • لا توجد أذونات اشتراك مطلوبة لإنشاء موارد متعلقة ب Azure Synapse.
  • لا حاجة لحصص تجمع SQL.

العيوب:

  • Hive metastore ثابت مفقود. يدعم حساب Spark بلا خادم Spark SQL في الذاكرة فقط.
  • لا توجد جداول أو قواعد بيانات متوفرة.
  • تكامل Azure Purview مفقود.
  • لا توجد خدمات مرتبطة متوفرة.
  • عدد أقل من مصادر البيانات والموصلات.
  • لا يوجد تكوين على مستوى التجمع.
  • لا توجد إدارة مكتبة على مستوى التجمع.
  • دعم جزئي فقط ل mssparkutils.

تكوين الشبكة

لاستخدام عزل الشبكة مع Azure التعلم الآلي وحوسبة Spark بلا خادم، استخدم شبكة ظاهرية مدارة.

فترات عدم النشاط وآلية الهدم

عند التشغيل الأول، قد يحتاج مورد حساب Spark بلا خادم (التشغيل البارد) إلى ثلاث إلى خمس دقائق لبدء جلسة Spark نفسها. يتسبب توفير حساب Spark بلا خادم تلقائيا، مدعوما ب Azure Synapse، في حدوث هذا التأخير. بعد توفير حساب Spark بلا خادم، وبدء جلسة Apache Spark، لن تواجه عمليات تنفيذ التعليمات البرمجية اللاحقة (البدء السريع) هذا التأخير.

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

بعد حدوث تمزق مورد حساب Spark بلا خادم، سيتطلب إرسال المهمة التالية بداية باردة. تظهر المرئيات التالية بعض فترة عدم نشاط الجلسة وسيناريوهات تمزق نظام المجموعة.

رسم تخطيطي قابل للتوسيع يوضح سيناريوهات لفترة عدم نشاط جلسة Apache Spark وتمزق نظام المجموعة.

حزم Conda على مستوى الجلسة

يمكن لملف YAML الخاص بتبعية Conda تحديد العديد من حزم Conda على مستوى الجلسة في تكوين جلسة عمل. ستهل جلسة العمل إذا كانت بحاجة إلى أكثر من 15 دقيقة لتثبيت حزم Conda المحددة في ملف YAML. يصبح من المهم التحقق أولا مما إذا كانت الحزمة المطلوبة متوفرة بالفعل في الصورة الأساسية ل Azure Synapse. للقيام بذلك، يجب على المستخدمين اتباع الارتباط لتحديد الحزم المتوفرة في الصورة الأساسية لإصدار Apache Spark المستخدم:

هام

وقت تشغيل Azure Synapse ل Apache Spark: الإعلانات

  • وقت تشغيل Azure Synapse ل Apache Spark 3.2:
    • تاريخ إعلان EOLA: 8 يوليو 2023
    • تاريخ انتهاء الدعم: 8 يوليو 2024. بعد هذا التاريخ، سيتم تعطيل وقت التشغيل.
  • للحصول على الدعم المستمر والأداء الأمثل، ننصحك بالترحيل إلى

إشعار

للحصول على حزمة Conda على مستوى الجلسة:

  • البداية الباردة سوف تحتاج إلى حوالي عشر إلى خمسة عشر دقيقة.
  • سوف تحتاج البداية الدافئة، باستخدام حزمة Conda نفسها، إلى حوالي دقيقة واحدة.
  • بداية دافئة، مع حزمة كوندا مختلفة، وسوف تحتاج أيضا حوالي عشر إلى خمس عشرة دقيقة.
  • إذا كانت الحزمة التي تقوم بتثبيتها كبيرة أو تحتاج إلى وقت تثبيت طويل، فقد تؤثر على وقت بدء تشغيل مثيل Spark.
  • تغيير إصدار PySpark أو Python أو Scala/Java أو ‎.NET أو Spark غير مدعوم.
  • صور Docker غير مدعومة.

تحسين وقت البدء البارد للجلسة أثناء استخدام حزم Conda على مستوى الجلسة

يمكنك تحسين وقت البدء البارد لجلسة Spark عن طريق تعيين spark.hadoop.aml.enable_cache متغير التكوين إلى true. تبدأ جلسة العمل الباردة بحزم Conda على مستوى الجلسة عادة من 10 إلى 15 دقيقة عند بدء الجلسة لأول مرة. ومع ذلك، تستغرق الجلسة الباردة اللاحقة من ثلاث إلى خمس دقائق. حدد متغير التكوين في واجهة مستخدم تكوين جلسة العمل ، ضمن إعدادات التكوين.

رسم تخطيطي قابل للتوسيع يعرض علامة تكوين جلسة Spark التي تمكن ذاكرة التخزين المؤقت.

تجمع Synapse Spark المرفق

يصبح تجمع Spark الذي تم إنشاؤه في مساحة عمل Azure Synapse متاحا في مساحة عمل Azure التعلم الآلي مع تجمع Synapse Spark المرفق. قد يكون هذا الخيار مناسبا للمستخدمين الذين يرغبون في إعادة استخدام تجمع Synapse Spark موجود.

يتطلب إرفاق تجمع Synapse Spark بمساحة عمل Azure التعلم الآلي خطوات أخرى قبل أن تتمكن من استخدام التجمع في Azure التعلم الآلي من أجل:

يوفر تجمع Synapse Spark المرفق الوصول إلى ميزات Azure Synapse الأصلية. المستخدم مسؤول عن توفير تجمع Synapse Spark وإرفاقه وتكوينه وإدارته.

يوفر تكوين جلسة Spark لتجمع Synapse Spark المرفق أيضا خيارا لتحديد مهلة جلسة العمل (بالدقائق). يشبه سلوك مهلة جلسة العمل الوصف في القسم السابق، باستثناء أن الموارد المقترنة لا تمزق أبدا بعد انتهاء مهلة جلسة العمل.

تحديد حجم مجموعة Spark

في وظائف Azure التعلم الآلي Spark، يمكنك تحديد حجم مجموعة Spark، بثلاث قيم معلمات:

  • عدد المنفذين
  • النوى المنفذة
  • ذاكرة المنفذ

يجب مراعاة منفذ Azure التعلم الآلي Apache Spark كمكافئ لعقد عامل Azure Spark. يمكن أن يشرح مثال هذه المعلمات. لنفترض أنك حددت عدد المنفذين على أنه 6 (ما يعادل ست عقد عاملة)، وعدد الذاكرات الأساسية للمنفذ على أنه 4، وذاكرة المنفذ على أنها 28 غيغابايت. ثم تتمتع وظيفة Spark الخاصة بك بإمكانية الوصول إلى مجموعة تحتوي على 24 ذاكرة أساسية في المجموع، وذاكرة 168 غيغابايت.

ضمان الوصول إلى الموارد لوظائف Spark

للوصول إلى البيانات والموارد الأخرى، يمكن لمهمة Spark استخدام هوية مدارة أو مرور هوية مستخدم. يلخص هذا الجدول الآليات التي تستخدمها وظائف Spark للوصول إلى الموارد.

تجمع Spark الهويات المدعومة الهوية الافتراضية
حساب Spark بلا خادم هوية المستخدم، الهوية المدارة المعينة من قبل المستخدم والمرفقة بمساحة العمل هوية المستخدم
تجمع Synapse Spark المرفق هوية المستخدم، الهوية المدارة المعينة من قبل المستخدم المرفقة بتجمع Synapse Spark المرفق، الهوية المدارة المعينة من قبل النظام لتجمع Synapse Spark المرفق الهوية المدارة المعينة من قبل النظام لتجمع Synapse Spark المرفق

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

إشعار

  • لضمان تنفيذ مهمة Spark بنجاح، قم بتعيين أدوار المساهم ومساهم بيانات Blob التخزين (على حساب تخزين Azure المستخدم لإدخال البيانات وإخراجها) إلى الهوية التي سيتم استخدامها لتقديم مهمة Spark.
  • إذا كان تجمع Synapse Spark المرفق يشير إلى تجمع Synapse Spark في مساحة عمل Azure Synapse، وكانت مساحة العمل هذه تحتوي على شبكة ظاهرية مدارة مقترنة، فكون نقطة نهاية خاصة مدارة إلى حساب تخزين. سيساعد هذا التكوين في ضمان الوصول إلى البيانات.

الخطوات التالية