تكوين الكتل

توضح هذه المقالة خيارات التكوين المتوفرة عند إنشاء مجموعات Azure Databricks وتحريرها. وهو يركز على إنشاء وتحرير الكتل باستخدام واجهة المستخدم. للحصول على أساليب أخرى، راجع الكتل CLI، الكتل API 2.0، و Databricks Terraform موفر.

للمساعدة في تحديد مجموعة خيارات التكوين التي تناسب احتياجاتك بشكل أفضل، راجع أفضل ممارسات تكوين الكتلة.

Create cluster

استرداد خاصية تكوين Spark من سر

توصي مدونات البيانات بتخزين المعلومات الحساسة، مثل كلمات المرور، في سرية بدلا من النص العادي. للإشارة إلى سر في تكوين Spark، استخدم بناء الجملة التالي:

spark.<secret-prop-name> <path-value>

على سبيل المثال، لتعيين خاصية تكوين Spark تسمى password إلى قيمة السر المخزن في secrets/apps/acme-app/password :

spark.password {{secrets/apps/acme-app/password}}

لمزيد من المعلومات، راجع المسارات السرية في خاصية تكوين Spark أو متغير البيئة.

نهج الكتلة

يحد نهج نظام المجموعة من القدرة على تكوين الكتل استنادا إلى مجموعة من القواعد. تحد قواعد النهج من السمات أو قيم السمات المتوفرة لإنشاء نظام المجموعة. نهج الكتلة ACLs التي تحد من استخدامها للمستخدمين والمجموعات المحددة وبالتالي تحديد النهج التي يمكنك تحديدها عند إنشاء كتلة.

لتكوين نهج نظام مجموعة، حدد نهج نظام المجموعة في القائمة المنسدلة النهج.

Select cluster policy

ملاحظة

إذا لم يتم إنشاء أية نهج في مساحة العمل، لا يتم عرض القائمة المنسدلة النهج.

إذا كان لديك:

  • الكتلة إنشاء إذن، يمكنك تحديد نهج Unrestricted وإنشاء كتل قابلة للتكوين بالكامل. لا يحد النهج Unrestricted أية سمات الكتلة أو قيم السمة.
  • إنشاء كل كتلة إذن والوصول إلى نهج الكتلة، يمكنك تحديد النهج Unrestricted والسياسات التي لديك حق الوصول إلى.
  • الوصول إلى نهج الكتلة فقط، يمكنك تحديد النهج التي لديك حق الوصول إليها.

وضع الكتلة

يدعم Azure Databricks ثلاثة أوضاع نظام المجموعة: قياسي، التزامن العالي، وعقدة واحدة. وضع نظام المجموعة الافتراضي هو قياسي.

ملاحظة

يتضمن تكوين الكتلة إعداد إنهاء تلقائي تعتمد قيمته الافتراضية على وضع نظام المجموعة:

  • قياسية و مجموعات عقدة واحدة إنهاء تلقائيا بعد 120 دقيقة بشكل افتراضي.
  • لا تنتهي مجموعات التزامن العالية تلقائيا بشكل افتراضي.

هام

لا يمكنك تغيير وضع نظام المجموعة بعد إنشاء كتلة. إذا كنت تريد وضع نظام مجموعة مختلفة، يجب إنشاء كتلة جديدة.

المجموعات القياسية

يوصى نظام مجموعة قياسية لمستخدم واحد. يمكن تشغيل مجموعات قياسية أحمال العمل التي تم تطويرها في أي لغة: بيثون SQL R و Scala.

مجموعات التزامن العالية

كتلة التزامن العالية مورد سحابة مدارة. الفوائد الرئيسية لمجموعات التزامن العالي هي أنها توفر مشاركة دقيقة الاستخدام الأقصى للموارد والحد الأدنى من زمن الوصول الاستعلام.

يمكن أن تعمل مجموعات التزامن العالية على تشغيل أعباء العمل التي تم تطويرها في SQL و Python و R. يتم توفير أداء وأمان مجموعات التزامن العالية عن طريق تشغيل رمز المستخدم في عمليات منفصلة، وهو أمر غير ممكن في Scala.

بالإضافة إلى ذلك، تدعم مجموعات التزامن العالية فقط التحكم في الوصول إلى الجدول.

لإنشاء كتلة التزامن عالية، تعيين وضع الكتلة إلى التزامن العالي.

High Concurrency cluster mode

للحصول على مثال حول كيفية إنشاء كتلة التزامن عالية باستخدام API الكتل، راجع مثال كتلة التزامن العالي.

كتل عقدة واحدة

كتلة عقدة واحدة لا يوجد لديه العمال ويقوم بتشغيل مهام Spark على عقدة برنامج التشغيل.

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

لإنشاء كتلة عقدة واحدة، قم بتعيين وضع الكتلة إلى عقدة واحدة.

Single Node cluster mode

لمعرفة المزيد حول العمل مع كتل العقدة المفردة، راجع مجموعات العقدة المفردة.

برك

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

إذا قمت بتحديد تجمع للعقد العاملة ولكن ليس لعقدة برنامج التشغيل، فإن عقدة برنامج التشغيل ترث التجمع من تكوين عقدة العامل.

هام

إذا حاولت تحديد تجمع لعقدة برنامج التشغيل ولكن ليس للعقد العاملة، يحدث خطأ ولا يتم إنشاء نظام المجموعة. يمنع هذا المطلب حالة حيث عقدة برنامج التشغيل الانتظار للعقد العاملة التي سيتم إنشاؤها، أو العكس بالعكس.

راجع تجمعات لمعرفة المزيد حول العمل مع تجمعات في Azure Databricks.

وقت تشغيل ستريك البيانات

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

يقدم Azure Databricks عدة أنواع من أوقات التشغيل وإصدارات عدة من أنواع وقت التشغيل هذه في القائمة المنسدلة إصدار وقت التشغيل Databricks عند إنشاء كتلة أو تحريرها.

Select Runtime version

صور فوتون

هام

هذه الميزة في المعاينة العامة.

ملاحظة

متوفر في Databricks وقت التشغيل 8.3 وما فوق.

لتحديد صورة فوتون:

  1. عرض أوقات التشغيل التي تحتوي على أنواع صور فوتون فقط. حدد مربع الاختيار فوتون:

    Select Photon

  2. حدد وقت تشغيل فوتون.

  3. اختياريا، حدد نوع مثيل في القائمة المنسدلة نوع العامل ونوع برنامج التشغيل.

توصي مدونات البيانات بأنواع المثيلات التالية للحصول على السعر والأداء الأمثل:

  • Standard_E4ds_v4
  • Standard_E8ds_v4
  • Standard_E16ds_v4

يمكنك عرض نشاط فوتون في واجهة مستخدم Spark. تظهر لقطة الشاشة التالية تفاصيل الاستعلام DAG. هناك مؤشران على فوتون في جدول أعمال التنمية. أولا، يبدأ مشغلو الفوتون ب "فوتون"، على سبيل PhotonGroupingAgg المثال. ثانيا، في DAG، مشغلي الفوتون والمراحل هي الخوخ الملونة، في حين أن تلك غير الفوتون هي زرقاء.

Photon DAG

صور دوكر

بالنسبة لبعض إصدارات Databricks وقت التشغيل، يمكنك تحديد صورة Docker عند إنشاء كتلة. مثال حالات الاستخدام تشمل تخصيص المكتبة، وبيئة حاوية ذهبية لا تتغير، وتكامل Docker CI/CD.

يمكنك أيضا استخدام صور Docker لإنشاء بيئات تعلم عميق مخصصة على المجموعات باستخدام أجهزة GPU.

للحصول على إرشادات، راجع تخصيص الحاويات باستخدام Databricks خدمات الحاويات وخدمات حاويات Databricks على مجموعات وحدة معالجة الرسومات.

إصدار Python

هام

وصل بيثون 2 إلى نهاية حياته في 1 يناير 2020. بيثون 2 غير معتمد في Databricks وقت التشغيل 6.0 وما فوق. Databricks وقت التشغيل 5.5 وما دون الاستمرار في دعم بيثون 2.

مجموعات بيثون تشغيل Databricks وقت التشغيل 6.0 وما فوق

Databricks وقت التشغيل 6.0 (غير معتمد) وما فوق يدعم بيثون 3 فقط. للحصول على تغييرات رئيسية تتعلق ببيئة Python التي قدمها Databricks Runtime 6.0، راجع بيئة Python في ملاحظات الإصدار.

مجموعات بيثون تشغيل Databricks وقت التشغيل 5.5 LTS

بالنسبة إلى Databricks Runtime 5.5 LTS، فإن وظائف Spark وخلايا دفتر ملاحظات Python وتركيب المكتبة تدعم جميعها كلا من Python 2 و3.

إصدار Python الافتراضي للتجمعات التي تم إنشاؤها باستخدام واجهة المستخدم Python 3. في Databricks وقت التشغيل 5.5 LTS الإصدار الافتراضي للتجمعات التي تم إنشاؤها باستخدام API REST هو Python 2.

تحديد إصدار بيثون

لتحديد إصدار Python عند إنشاء كتلة باستخدام واجهة المستخدم، حددها من القائمة المنسدلة إصدار Python.

Cluster Python version

لتحديد إصدار Python عند إنشاء كتلة باستخدام API، قم بتعيين متغير البيئة PYSPARK_PYTHON إلى /databricks/python/bin/python أو /databricks/python3/bin/python3 . على سبيل المثال، راجع المثال REST API Upload ملف كبير في DBFS.

للتحقق من أن PYSPARK_PYTHON التكوين نافذ المفعول، في دفتر ملاحظات بيثون (أو %python الخلية) تشغيل:

import sys
print(sys.version)

إذا حددت /databricks/python3/bin/python3 ، فيجب أن تطبع شيئا مثل:

3.5.2 (default, Sep 10 2016, 08:21:44)
[GCC 5.4.0 20160609]

هام

بالنسبة Databricks Runtime 5.5 LTS، عند تشغيل %sh python --version في دفتر ملاحظات، python يشير إلى إصدار بيثون نظام أوبونتو، وهو بيثون 2. استخدم /databricks/python/bin/python للإشارة إلى إصدار Python المستخدم من قبل دفاتر ملاحظات Databricks و Spark: يتم تكوين هذا المسار تلقائيا للإشارة إلى Python القابل للتنفيذ الصحيح.

الأسئلة المتداولة (FAQ)

هل يمكنني استخدام دفاتر Python 2 و Python 3 على نفس المجموعة؟

كلا. إصدار Python إعداد على مستوى الكتلة ولا يمكن تكوينه على أساس كل دفتر ملاحظات.

ما هي المكتبات المثبتة على مجموعات Python؟

للحصول على تفاصيل حول مكتبات معينة مثبتة، راجع ملاحظات إصدار وقت التشغيل Databricks.

هل ستعمل مكتبات PyPI الحالية مع Python 3؟

يعتمد ذلك على ما إذا كان إصدار المكتبة يدعم إصدار Python 3 من إصدار Databricks Runtime.

يستخدم Databricks وقت التشغيل 5.5 LTS بيثون 3.5. Databricks وقت التشغيل 6.0 وما فوق و Databricks وقت التشغيل مع كوندا استخدام بيثون 3.7. من الممكن أن إصدار قديم محدد من مكتبة Python غير متوافق مع Python 3.7. لهذه الحالة، سوف تحتاج إلى استخدام إصدار أحدث من المكتبة.

هل ستعمل .egg مكتباتي الحالية مع Python 3؟

يعتمد ذلك على ما إذا كانت مكتبة البيض الموجودة لديك متوافقة مع كل من Python 2 و 3. إذا كانت المكتبة لا تدعم Python 3 ثم إما مرفق المكتبة سوف تفشل أو حدوث أخطاء وقت التشغيل.

للحصول على دليل شامل حول رمز النقل إلى Python 3 وكتابة التعليمات البرمجية المتوافقة مع كل من Python 2 و 3 ، راجع دعم Python 3.

هل يمكنني تثبيت مكتبات Python باستخدام برامج init النصية؟

حالة استخدام شائعة لأنظمة نصية تهيئة عقدة الكتلة تثبيت الحزم.

بالنسبة ل Databricks Runtime 5.5 LTS ، استخدم /databricks/python/bin/pip لضمان تثبيت حزم Python في بيئة Databricks Python الافتراضية بدلا من بيئة Python النظام.

بالنسبة Databricks Runtime 6.0 وما فوق، و Databricks Runtime مع Conda، pip يشير الأمر إلى في pip بيئة Python الظاهرية الصحيحة. ومع ذلك، إذا كنت تستخدم برنامج نصي init لإنشاء بيئة الظاهري Python دوما استخدام المسار المطلق للوصول python و pip .

نوع عقدة نظام المجموعة

تتكون الكتلة من عقدة برنامج تشغيل واحدة و عقد عامل صفر أو أكثر.

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

ملاحظة

إذا كانت متطلبات الأمان الخاصة بك تتضمن حساب العزل، فحدد مثيل Standard_F72s_V2 كنوع العامل. تمثل أنواع المثيلات هذه الأجهزة الظاهرية المعزولة التي تستهلك المضيف الفعلي بأكمله وتوفر المستوى الضروري من العزل المطلوب لدعم أعباء العمل من مستوى تأثير وزارة الدفاع الأمريكية (IL5) على سبيل المثال.

عقدة برنامج التشغيل

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

القيمة الافتراضية لنوع عقدة برنامج التشغيل هي نفس نوع عقدة العامل. يمكنك اختيار نوع عقدة برنامج تشغيل أكبر مع ذاكرة أكبر إذا كنت تخطط للكثير collect() من البيانات من عمال Spark وتحليلها في دفتر الملاحظات.

تلميح

منذ عقدة برنامج التشغيل يحتفظ كافة معلومات الحالة دفاتر الملاحظات المرفقة تأكد من فصل دفاتر الملاحظات غير المستخدمة من عقدة برنامج التشغيل.

عقدة Worker

Azure Databricks عقد العامل تشغيل المنفذين Spark والخدمات الأخرى المطلوبة من أجل الأداء الصحيح للتجمعات. عند توزيع حمل العمل الخاص بك مع Spark، تحدث كافة المعالجات الموزعة على عقد العامل. يقوم Azure Databricks بتشغيل منفذ واحد لكل عقدة عامل؛ لذلك يتم استخدام المصطلحات المنفذ والعامل بالتبادل في سياق هندسة Azure Databricks.

تلميح

لتشغيل وظيفة Spark، تحتاج إلى عقدة عامل واحدة على الأقل. إذا كان نظام المجموعة صفر العمال، يمكنك تشغيل الأوامر غير Spark على عقدة برنامج التشغيل، ولكن ستفشل أوامر Spark.

أنواع مثيلات وحدة معالجة الرسومات

بالنسبة للمهام الصعبة حسابيا التي تتطلب أداء عاليا، مثل تلك المرتبطة بالتعلم العميق، تدعم Azure Databricks المجموعات المتسارعة مع وحدات معالجة الرسومات (GPUs). لمزيد من المعلومات، راجع الكتل التي تدعم وحدة معالجة الرسومات.

مثيلات موضعية

لتوفير التكلفة، يمكنك اختيار استخدام مثيلات موضعية، تعرف أيضا باسم Azure Spot VMs عن طريق التحقق من خانة الاختيار مثيلات Spot.

Configure spot

المثيل الأول دوما عند الطلب (عقدة برنامج التشغيل دائما عند الطلب) و المثيلات اللاحقة ستكون مثيلات spot. وإذا تم إخلاء الحالات الفورية بسبب عدم توافرها، يتم نشر حالات عند الطلب لتحل محل الحالات التي تم إخلاؤها.

حجم الكتلة والتحجيم التلقائي

عند إنشاء كتلة Azure Databricks يمكنك إما توفير عدد ثابت من العمال للكتلة أو توفير الحد الأدنى والحد الأقصى لعدد العاملين للكتلة.

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

مع التحجيم التلقائي، يقوم Azure Databricks بإعادة تخصيص العمال بشكل ديناميكي لحساب خصائص وظيفتك. قد تكون أجزاء معينة من خط الأنابيب الخاص بك أكثر تطلبا حسابيا من غيرها ، ويضيف Databricks تلقائيا عمالا إضافيين خلال هذه المراحل من عملك (ويزيلهم عندما لا تكون هناك حاجة إليهم).

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

  • يمكن تشغيل أحمال العمل بشكل أسرع مقارنة مع كتلة ذات حجم ثابت أقل من توفير.
  • يمكن أن تقلل الكتل التحجيم التلقائي التكاليف الإجمالية مقارنة بمجموعة ثابتة الحجم.

اعتمادا على الحجم الثابت للكتلة وعبء العمل، يمنحك التحجيم التلقائي واحدة أو كليهما من هذه المزايا في نفس الوقت. يمكن أن يقل حجم الكتلة عن الحد الأدنى لعدد العمال المحددين عند إنهاء موفر مجموعة النظراء للمثيلات. في هذه الحالة، يقوم Azure Databricks باستمرار بإعادة محاولة إعادة توفير مثيلات من أجل الحفاظ على الحد الأدنى لعدد العمال.

ملاحظة

لا يتوفر التحجيم التلقائي spark-submit للوظائف.

أنواع التحجيم التلقائي

يقدم Azure Databricks نوعين من التحجيم التلقائي لعقدة الكتلة: قياسي ومحسن. لمناقشة فوائد التحجيم التلقائي الأمثل، راجع مشاركة المدونة على التحجيم التلقائي المحسن.

تستخدم المجموعات التلقائية (المهمة) دائما التحجيم التلقائي المحسن. يعتمد نوع التحجيم التلقائي الذي يتم إجراؤه على المجموعات لجميع الأغراض على تكوين مساحة العمل.

يتم استخدام القياس التلقائي القياسي من قبل مجموعات لجميع الأغراض في مساحات العمل في مستوى التسعير القياسي. يتم استخدام التحجيم التلقائي الأمثل من قبل مجموعات لجميع الأغراض في خطة Premium Azure Databricks.

كيفية تصرف التحجيم التلقائي

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

تحسين التحجيم التلقائي

  • يتدرج من دقيقة إلى الحد الأقصى في خطوتين.
  • يمكن تحجيم حتى إذا كانت الكتلة غير خاملة عن طريق النظر في حالة ملف خلط ورق اللعب.
  • تحجيم لأسفل استنادا إلى نسبة مئوية من العقد الحالية.
  • على مجموعات وظيفة، تحجيم لأسفل إذا كان يتم غير مستغلة الكتلة خلال آخر 40 ثانية.
  • على المجموعات لكافة الأغراض، يتم تحجيم أسفل إذا كان يتم غير مستغلة الكتلة خلال الثواني ال 150 الأخيرة.
  • spark.databricks.aggressiveWindowDownSتحدد خاصية تكوين Spark بالثواني عدد المرات التي تقوم فيها الكتلة بقرارات التحجيم لأسفل. يؤدي زيادة القيمة كتلة إلى تقليص ببطء أكثر. القيمة القصوى هي 600.

القياس التلقائي القياسي

  • يبدأ بإضافة 8 عقد. بعد ذلك ، يتدرج أضعافا مضاعفة ، ولكن يمكن أن تتخذ العديد من الخطوات للوصول إلى الحد الأقصى. يمكنك تخصيص الخطوة الأولى عن طريق تعيين spark.databricks.autoscaling.standardFirstStepUp الخاصية تكوين Spark.
  • تحجيم لأسفل فقط عندما يكون الكتلة خاملا تماما وتم استخدامه بشكل غير مستغل بشكل كامل خلال الدقائق ال 10 الأخيرة.
  • تحجيم إلى الأسفل أضعافا مضاعفة، بدءا من عقدة واحدة.

تمكين ضبط تلقائي وتكوينه

للسماح ل Azure Databricks لتغيير حجم الكتلة تلقائيا، يمكنك تمكين التحجيم التلقائي للكتلة وتوفير الحد الأدنى وأقصى نطاق من العمال.

  1. تمكين التحجيم التلقائي.

    • All-Purpose الكتلة - في صفحة إنشاء الكتلة، حدد خانة الاختيار تمكين التحجيم التلقائي في المربع خيارات الطيار الآلي:

      Enable autoscaling for interactive clusters

    • كتلة المهمة - في الصفحة تكوين الكتلة، حدد خانة الاختيار تمكين التحجيم التلقائي في المربع خيارات الطيار الآلي:

      Enable autoscaling for job clusters

  2. تكوين الحد الأدنى والعاملين كحد أقصى.

    Configure min and max workers

    عند تشغيل الكتلة، تعرض صفحة تفاصيل الكتلة عدد العمال المخصصين. يمكنك مقارنة عدد العمال المخصصين بتكوين العامل وإجراء التعديلات حسب الحاجة.

هام

إذا كنت تستخدم تجمع مثيل:

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

مثال التحجيم التلقائي

إذا قمت بإعادة تكوين كتلة ثابتة لتكون كتلة autoscaling، تغيير حجم الكتلة فورا Azure Databricks ضمن حدود الحد الأدنى والحد الأقصى ثم يبدأ autoscaling. على سبيل المثال، يوضح الجدول التالي ما يحدث للتجمعات ذات حجم أولي معين إذا قمت بإعادة تكوين كتلة إلى autoscale بين 5 و 10 العقد.

الحجم الأولي الحجم بعد إعادة التشكيل
6 6
12 10
3 5

التحجيم التلقائي للتخزين المحلي

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

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

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

تشفير القرص المحلي

هام

هذه الميزة في المعاينة العامة.

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

هام

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

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

لتمكين تشفير القرص المحلي، يجب استخدام نظام API 2.0 الكتل. أثناء إنشاء الكتلة أو تحريرها، قم بتعيين:

{
  "enable_local_disk_encryption": true
}

راجع إنشاءوتحرير في مرجع API الكتل للحصول على أمثلة حول كيفية استدعاء واجهات برمجة التطبيقات هذه.

فيما يلي مثال على استدعاء إنشاء كتلة التي تمكن تشفير القرص المحلي:

{
  "cluster_name": "my-cluster",
  "spark_version": "7.3.x-scala2.12",
  "node_type_id": "Standard_D3_v2",
  "enable_local_disk_encryption": true,
  "spark_conf": {
    "spark.speculation": true
  },
  "num_workers": 25
}

تكوين الشرارة

لضبط مهام Spark، يمكنك توفير خصائص تكوين Spark المخصصة في تكوين نظام مجموعة.

  1. في صفحة تكوين الكتلة، انقر فوق تبديل خيارات متقدمة.

  2. انقر فوق علامة التبويب شرارة.

    Spark configuration

    في تكوين Spark، أدخل خصائص التكوين كزوج واحد من قيمة المفتاح لكل سطر.

عند تكوين كتلة باستخدام الكتلة API 2.0، تعيين خصائص Spark في الحقل في طلب إنشاء كتلة أو تحرير طلب الكتلة.

لتعيين خصائص Spark لكافة الكتل، قم بإنشاء برنامج نصي init عمومي:

dbutils.fs.put("dbfs:/databricks/init/set_spark_params.sh","""
  |#!/bin/bash
  |
  |cat << 'EOF' > /databricks/driver/conf/00-custom-spark-driver-defaults.conf
  |[driver] {
  |  "spark.sql.sources.partitionOverwriteMode" = "DYNAMIC"
  |}
  |EOF
  """.stripMargin, true)

متغيرات البيئة.

يمكنك تعيين متغيرات البيئة التي يمكنك الوصول إليها من البرامج النصية قيد التشغيل على نظام مجموعة.

  1. في صفحة تكوين الكتلة، انقر فوق تبديل خيارات متقدمة.

  2. انقر فوق علامة التبويب شرارة.

  3. تعيين متغيرات البيئة في الحقل متغيرات البيئة.

    Environment Variables field

يمكنك أيضا تعيين متغيرات البيئة باستخدام spark_env_vars الحقل في إنشاء طلب spark_env_vars أو تحرير نقاط نهاية API طلب الكتلة.

ملاحظة

متغيرات البيئة التي قمت بتعيينها في هذا الحقل غير متوفرة في برامج نصية تهيئة عقدة الكتلة. تدعم البرامج النصية Init مجموعة محدودة فقط من أمر تنفيذ برنامج Init النصيالمحدد مسبقا .

علامات الكتلة

تسمح لك علامات الكتلة بمراقبة تكلفة الموارد السحابية التي تستخدمها مجموعات مختلفة في مؤسستك بسهولة. يمكنك تحديد العلامات كأزواج قيمة المفتاح عند إنشاء كتلة، و Azure Databricks تطبيق هذه العلامات على موارد سحابة مثل VMs ووحدات تخزين القرص، فضلا عن تقارير استخدام DBU.

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

للراحة، يقوم Azure Databricks بتطبيق أربع علامات افتراضية على كل مجموعة: Vendor و و و و CreatorClusterNameClusterId .

بالإضافة إلى ذلك، على مجموعات الوظائف، يقوم Azure Databricks بتطبيق علامات افتراضية اثنين: RunName و JobId . على الموارد المستخدمة من قبل Databricks SQL، Azure Databricks أيضا تطبيق العلامة الافتراضية SqlEndpointId .

تحذير

لا تقم بتعيين علامة مخصصة مع المفتاح Name إلى كتلة. كل كتلة لديها علامة Name التي يتم تعيين قيمتها بواسطة Azure Databricks. إذا قمت بتغيير القيمة المقترنة بالمفتاح Name ، الكتلة لم يعد يمكن تعقب بواسطة Azure Databricks. ونتيجة لذلك، قد لا يتم إنهاء الكتلة بعد أن تصبح خاملة وستستمر في تكبد تكاليف الاستخدام.

يمكنك إضافة علامات مخصصة عند إنشاء كتلة. لتكوين علامات نظام المجموعة:

  1. في صفحة تكوين الكتلة، انقر فوق تبديل خيارات متقدمة.

  2. في أسفل الصفحة، انقر فوق علامة التبويب علامات.

    Tags tab

  3. إضافة زوج قيمة مفتاح لكل علامة مخصصة. يمكنك إضافة ما يصل إلى 43 علامة مخصصة.

وصول SSH إلى الكتل

لأسباب أمنية، في Azure Databricks يتم إغلاق منفذ SSH بشكل افتراضي. إذا كنت ترغب في تمكين وصول SSH إلى كتل Spark، فاتصل بدعم Azure Databricks.

ملاحظة

يمكن تمكين SSH فقط إذا تم نشر مساحة العمل الخاصة بك في شبكة Azure الظاهريةالخاصة بك.

تسليم سجل الكتلة

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

تعتمد وجهة السجلات على معرف الكتلة. إذا كانت الوجهة المحددة هي dbfs:/cluster-log-delivery ، يتم تسليم سجلات الكتلة الخاصة بها إلى 0630-191345-leap375dbfs:/cluster-log-delivery/0630-191345-leap375 .

لتكوين موقع تسليم السجل:

  1. في صفحة تكوين الكتلة، انقر فوق تبديل خيارات متقدمة.

  2. انقر فوق علامة التبويب تسجيل.

    Cluster log delivery

  3. حدد نوع وجهة.

  4. أدخل مسار سجل الكتلة.

ملاحظة

تتوفر هذه الميزة أيضا في واجهة برمجة تطبيقات REST. راجع أمثلة تسليمسجل الكتلة API 2.0 و الكتلة .

Init البرامج النصية

تهيئة عقدة نظام المجموعة -أو init-البرنامج النصي هو برنامج نصي shell الذي يتم تشغيله أثناء بدء التشغيل لكل عقدة نظام المجموعة قبل بدء تشغيل برنامج تشغيل Spark أو العامل JVM. يمكنك استخدام البرامج النصية init لتثبيت الحزم والمكتبات غير المضمنة في وقت تشغيل Databricks أو تعديل مسار فئة نظام JVM أو تعيين خصائص النظام ومتغيرات البيئة المستخدمة من قبل JVM أو تعديل معلمات تكوين Spark، من بين مهام التكوين الأخرى.

يمكنك إرفاق البرامج النصية init إلى كتلة بتوسيع المقطع خيارات متقدمة ثم النقر فوق علامة التبويب Init Scripts.

للحصول على إرشادات مفصلة، راجع البرامج النصية تهيئة عقدة الكتلة.