Databricks CLI (قديم)

هام

تم إيقاف هذه الوثائق وقد لا يتم تحديثها.

توصي Databricks باستخدام Databricks CLI الإصدار 0.205 أو أعلى بدلا من الإصدار 0.18 من Databricks CLI القديم أو إصدار أحدث. لا يدعم Databricks CLI الإصدار 0.18 أو أقل من Databricks. للحصول على معلومات حول إصدارات Databricks CLI 0.205 والإصدارات الأحدث، راجع ما هو Databricks CLI؟.

للترحيل من Databricks CLI الإصدار 0.18 أو أقل إلى Databricks CLI الإصدار 0.205 أو أعلى، راجع ترحيل Databricks CLI.

Databricks CLI القديم في حالة تجريبية. لا تخطط Databricks أي عمل ميزة جديد ل Databricks CLI القديم في هذا الوقت.

لا يتم دعم Databricks CLI القديم من خلال قنوات دعم Databricks. لتقديم الملاحظات وطرح الأسئلة والإبلاغ عن المشكلات، استخدم علامة التبويب المشكلات في واجهة سطر الأوامر لمستودع Databricks في GitHub.

واجهة سطر أوامر Databricks القديمة (المعروفة أيضا باسم Databricks CLI القديمة) هي أداة مساعدة توفر واجهة سهلة الاستخدام لأتمتة النظام الأساسي Azure Databricks من المحطة الطرفية أو موجه الأوامر أو البرامج النصية التلقائية.

المتطلبات

  • Python 3 - 3.6 وما فوق
  • Python 2 - 2.7.9 وما فوق

هام

على macOS، لا يقوم تثبيت Python 2 الافتراضي بتنفيذ بروتوكول TLSv1_2، ويؤدي تشغيل Databricks CLI القديم مع تثبيت Python هذا إلى الخطأ: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'. استخدم Homebrew لتثبيت إصدار من Python يحتوي على ssl.PROTOCOL_TLSv1_2.

القيود

استخدام Databricks CLI القديم مع حاويات التخزين الممكنة لجدار الحماية غير مدعوم. توصي Databricks باستخدام Databricks الاتصال أو az storage.

إعداد CLI

يصف هذا القسم كيفية إعداد Databricks CLI القديم.

تثبيت CLI أو تحديثه

يصف هذا القسم كيفية تثبيت أو تحديث جهاز التطوير الخاص بك لتشغيل Databricks CLI القديم.

تثبيت CLI

قم بتشغيل pip install databricks-cli باستخدام الإصدار المناسب من pip لتثبيت Python الخاص بك:

pip install databricks-cli

تحديث CLI

قم بتشغيل pip install databricks-cli --upgrade باستخدام الإصدار المناسب من pip لتثبيت Python الخاص بك:

pip install databricks-cli --upgrade

لسرد إصدار Databricks CLI القديم المثبت حاليا، قم بتشغيل databricks --version:

databricks --version

إعداد المصادقة

قبل أن تتمكن من تشغيل أوامر Databricks CLI القديمة، يجب إعداد المصادقة بين Databricks CLI القديم وAzure Databricks. يصف هذا القسم كيفية إعداد المصادقة ل Databricks CLI القديم.

للمصادقة باستخدام Databricks CLI القديم، يمكنك استخدام رمز وصول شخصي Databricks أو رمز مميز لمعرف Microsoft Entra (المعروف سابقا ب Azure Active Directory).

إشعار

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

إعداد المصادقة باستخدام رمز مميز لمعرف Microsoft Entra (المعروف سابقا ب Azure Active Directory)

لتكوين Databricks CLI القديم باستخدام رمز مميز لمعرف Microsoft Entra، قم بإنشاء الرمز المميز لمعرف Microsoft Entra (المعروف سابقا ب Azure Active Directory) وتخزينه في متغير DATABRICKS_AAD_TOKENالبيئة .

شغّل الأمر التالي:

databricks configure --aad-token

يصدر الأمر المطالبة:

Databricks Host (should begin with https://):

أدخل عنوان URL لكل مساحة عمل، بالتنسيق https://adb-<workspace-id>.<random-number>.azuredatabricks.net. للحصول على عنوان URL لكل مساحة عمل، راجع عنوان URL لكل مساحة عمل.

بعد إكمال المطالبة، يتم تخزين بيانات اعتماد الوصول في الملف ~/.databrickscfg على Linux أو macOS أو %USERPROFILE%\.databrickscfg على Windows. يحتوي الملف على إدخال ملف تعريف افتراضي:

[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>

.databrickscfg إذا كان الملف موجودا بالفعل، يتم استبدال ملف تعريف تكوين هذا الملف DEFAULT بالبيانات الجديدة. لإنشاء ملف تعريف تكوين باسم مختلف بدلا من ذلك، راجع ملفات تعريف الاتصال.

إعداد المصادقة باستخدام رمز مميز للوصول الشخصي ل Databricks

لتكوين Databricks CLI القديم لاستخدام رمز وصول شخصي، قم بتشغيل الأمر التالي:

databricks configure --token

يبدأ الأمر بإصدار المطالبة:

Databricks Host (should begin with https://):

أدخل عنوان URL لكل مساحة عمل، بالتنسيق https://adb-<workspace-id>.<random-number>.azuredatabricks.net. للحصول على عنوان URL لكل مساحة عمل، راجع عنوان URL لكل مساحة عمل.

يستمر الأمر بإصدار المطالبة بإدخال رمز الوصول الشخصي الخاص بك:

Token:

بعد إكمال المطالبات، يتم تخزين بيانات اعتماد الوصول في الملف ~/.databrickscfg على Linux أو macOS أو %USERPROFILE%\.databrickscfg على Windows. يحتوي الملف على إدخال ملف تعريف افتراضي:

[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>

.databrickscfg إذا كان الملف موجودا بالفعل، يتم استبدال ملف تعريف تكوين هذا الملف DEFAULT بالبيانات الجديدة. لإنشاء ملف تعريف تكوين باسم مختلف بدلا من ذلك، راجع ملفات تعريف الاتصال.

بالنسبة إلى CLI 0.8.1 والإصدارات الأحدث، يمكنك تغيير مسار هذا الملف عن طريق تعيين متغير DATABRICKS_CONFIG_FILEالبيئة .

Linux أو macos
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M

هام

بدءا من CLI 0.17.2، لا يعمل CLI مع ملف .netrc. يمكنك الحصول على .netrc ملف في بيئتك لأغراض أخرى، ولكن لن يستخدم CLI هذا .netrc الملف.

يدعم CLI 0.8.0 وما فوق متغيرات بيئة Azure Databricks التالية:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

يكون لإعداد متغير البيئة الأسبقية على الإعداد في ملف التكوين.

اختبار إعداد المصادقة

للتحقق مما إذا كنت قد قمت بإعداد المصادقة بشكل صحيح، يمكنك تشغيل أمر مثل ما يلي:

databricks fs ls dbfs:/

إذا نجحت، يسرد هذا الأمر الملفات والدلائل في جذر DBFS لمساحة العمل المقترنة بملف التعريف الخاص بك DEFAULT .

ملفات تعريف الاتصال

يدعم تكوين Databricks CLI القديم ملفات تعريف اتصال متعددة. يمكن استخدام نفس تثبيت Databricks CLI القديم لإجراء استدعاءات API على مساحات عمل Azure Databricks متعددة.

لإضافة ملف تعريف اتصال، حدد اسما فريدا لملف التعريف:

databricks configure [--token | --aad-token] --profile <profile-name>

.databrickscfg يحتوي الملف على إدخال ملف تعريف مطابق:

[<profile-name>]
host = <workspace-URL>
token = <token>

لاستخدام ملف تعريف الاتصال:

databricks <group> <command> --profile <profile-name>

إذا --profile <profile-name> لم يتم تحديد، يتم استخدام ملف التعريف الافتراضي. إذا لم يتم العثور على ملف تعريف افتراضي، فستتم مطالبتك بتكوين CLI بملف تعريف افتراضي.

اختبار ملفات تعريف الاتصال

للتحقق مما إذا كنت تقوم بإعداد أي ملفات تعريف اتصال بشكل صحيح، يمكنك تشغيل أمر مثل ما يلي باستخدام أحد أسماء ملفات تعريف الاتصال:

databricks fs ls dbfs:/ --profile <profile-name>

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

لعرض ملفات التعريف المتوفرة، راجع .databrickscfg الملف.

استخدام CLI

يوضح لك هذا القسم كيفية الحصول على تعليمات Databricks CLI القديمة، وتحليل إخراج Databricks CLI القديم، واستدعاء الأوامر في كل مجموعة أوامر.

عرض تعليمات مجموعة أوامر CLI

يمكنك سرد الأوامر الفرعية لأي مجموعة أوامر باستخدام --help الخيار أو -h . على سبيل المثال، لسرد الأوامر الفرعية DBFS CLI:

databricks fs -h

عرض التعليمات الفرعية ل CLI

يمكنك سرد تعليمات الأمر الفرعي باستخدام --help الخيار أو -h . على سبيل المثال، لسرد تعليمات الأمر الفرعي لنسخ ملفات DBFS:

databricks fs cp -h

مجموعات أوامر الاسم المستعار

في بعض الأحيان قد يكون من غير المريح بادئة كل استدعاء Databricks CLI قديم باسم مجموعة أوامر، على سبيل المثال databricks workspace ls في Databricks CLI القديم. لتسهيل استخدام Databricks CLI القديم، يمكنك استخدام مجموعات الأوامر المستعارة إلى أوامر أقصر. على سبيل المثال، لتقصير databricks workspace ls إلى dw ls في Bourne shell مرة أخرى، يمكنك إضافة alias dw="databricks workspace" إلى ملف تعريف bash المناسب. عادة ما يكون هذا الملف موجودا في ~/.bash_profile.

تلميح

CLI Databricks القديمة databricks fs الأسماء المستعارة بالفعل إلى dbfs؛ databricks fs ls وهي مكافئة dbfs ls .

استخدم jq لتحليل إخراج CLI

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

على سبيل المثال، يقوم الأمر التالي بطباعة إعدادات المهمة بمعرف 233.

databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'

إخراج:

{
  "name": "Quickstart",
  "new_cluster": {
    "spark_version": "7.5.x-scala2.12",
    "spark_env_vars": {
      "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
    },
    "num_workers": 8,
    ...
  },
  "email_notifications": {},
  "timeout_seconds": 0,
  "notebook_task": {
    "notebook_path": "/Quickstart"
  },
  "max_concurrent_runs": 1
}

كمثال آخر، يقوم الأمر التالي بطباعة أسماء ومعرفات كافة المجموعات المتوفرة في مساحة العمل فقط:

databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'

إخراج:

[
  {
    "name": "My Cluster 1",
    "id": "1234-567890-grip123"
  },
  {
    "name": "My Cluster 2",
    "id": "2345-678901-patch234"
  }
]

يمكنك التثبيت jq على سبيل المثال على macOS باستخدام Homebrew مع brew install jq أو على Windows باستخدام Chocolatey مع choco install jq. لمزيد من المعلومات حول jq، راجع دليل jq.

معلمات سلسلة JSON

تتم معالجة معلمات السلسلة بشكل مختلف اعتمادا على نظام التشغيل الخاص بك:

Linux أو macos

يجب إحاطة معلمات سلسلة JSON بعلامات اقتباس مفردة. على سبيل المثال:

'["20180505", "alantest"]'

Windows

يجب إحاطة معلمات سلسلة JSON بعلامات اقتباس مزدوجة، ويجب أن تكون أحرف الاقتباس داخل السلسلة مسبوقة ب \. على سبيل المثال:

"[\"20180505\", \"alantest\"]"

استكشاف الأخطاء وإصلاحها

توفر الأقسام التالية تلميحات لاستكشاف المشكلات الشائعة وإصلاحها باستخدام Databricks CLI القديم.

استخدام EOF مع databricks configure لا يعمل

بالنسبة إلى Databricks CLI 0.12.0 وما فوق، لا يعمل استخدام تسلسل نهاية الملف (EOF) في برنامج نصي لتمرير المعلمات إلى databricks configure الأمر. على سبيل المثال، يتسبب البرنامج النصي التالي في تجاهل Databricks CLI للمعلمات، ولا يتم طرح رسالة خطأ:

# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>

databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF

لإصلاح هذه المشكلة، قم بأحد الإجراءات التالية:

  • استخدم أحد خيارات التكوين البرمجية الأخرى كما هو موضح في إعداد المصادقة.
  • أضف host القيم و token يدويا إلى .databrickscfg الملف كما هو موضح في إعداد المصادقة.
  • قم بخفض تثبيت Databricks CLI إلى 0.11.0 أو أقل، ثم قم بتشغيل البرنامج النصي مرة أخرى.

أوامر CLI