مكتبات API 2.0

API المكتبات يسمح لك لتثبيت وإلغاء تثبيت المكتبات والحصول على حالة المكتبات على كتلة.

هام

للوصول إلى واجهات برمجة التطبيقات Rest Databricks، يجب عليك المصادقة.

كافة حالات نظام المجموعة

نقطة النهاية أسلوب HTTP
2.0/libraries/all-cluster-statuses GET

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

مثال

طلب

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/libraries/all-cluster-statuses \
| jq .

استبدال <databricks-instance><databricks-instance>Azure Databricks ، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net .

يستخدم هذا المثال ملف .netrc و jq.

الاستجابة

{
  "statuses": [
    {
      "cluster_id": "11203-my-cluster",
      "library_statuses": [
        {
          "library": {
            "jar": "dbfs:/mnt/libraries/library.jar"
          },
          "status": "INSTALLING",
          "messages": [],
          "is_library_for_all_clusters": false
        }
      ]
    },
    {
      "cluster_id": "20131-my-other-cluster",
      "library_statuses": [
        {
          "library": {
            "egg": "dbfs:/mnt/libraries/library.egg"
          },
          "status": "ERROR",
          "messages": ["Could not download library"],
          "is_library_for_all_clusters": false
        }
      ]
    }
  ]
}

بنية الاستجابة

اسم الحقل النوع الوصف
حالات صفيف من بيانات الكتلة قائمة بحالات نظام المجموعة.

حالة الكتلة

نقطة النهاية أسلوب HTTP
2.0/libraries/cluster-status GET

الحصول على حالة المكتبات على كتلة. ستكون الحالة متوفرة لكافة المكتبات المثبتة على الكتلة عبر واجهة المستخدم الخاصة بالمكتبات أو واجهة المستخدم للمكتبات بالإضافة إلى المكتبات التي تم تعيينها ليتم تثبيتها على كافة الكتل عبر واجهة مستخدم المكتبات. إذا تم تعيين مكتبة ليتم تثبيتها على كافة الكتل، is_library_for_all_clusters سيتم ، حتى إذا تم تثبيت true المكتبة أيضا على نظام المجموعة.

مثال

طلب

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/libraries/cluster-status?cluster_id=<cluster-id>' \
| jq .

أو:

curl --netrc --get \
https://<databricks-instance>/api/2.0/libraries/cluster-status \
--data cluster_id=<cluster-id> \
| jq .

استبدال:

  • <databricks-instance><databricks-instance>Azure Databricks ، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net .
  • <cluster-id> مع معرف مساحة عمل Azure Databricks من الكتلة، على سبيل المثال 1234-567890-example123 .

يستخدم هذا المثال ملف .netrc و jq.

الاستجابة

{
  "cluster_id": "11203-my-cluster",
  "library_statuses": [
    {
      "library": {
        "jar": "dbfs:/mnt/libraries/library.jar"
      },
      "status": "INSTALLED",
      "messages": [],
      "is_library_for_all_clusters": false
    },
    {
      "library": {
        "pypi": {
          "package": "beautifulsoup4"
        },
      },
      "status": "INSTALLING",
      "messages": ["Successfully resolved package from PyPI"],
      "is_library_for_all_clusters": false
    },
    {
      "library": {
        "cran": {
          "package": "ada",
          "repo": "https://cran.us.r-project.org"
        },
      },
      "status": "FAILED",
      "messages": ["R package installation is not supported on this spark version.\nPlease upgrade to Runtime 3.2 or higher"],
      "is_library_for_all_clusters": false
    }
  ]
}

بنية الطلب

اسم الحقل النوع الوصف
cluster_id STRING المعرف الفريد للكتلة التي يجب استرداد حالتها. هذه الحقل مطلوب.

بنية الاستجابة

اسم الحقل النوع الوصف
cluster_id STRING المعرف الفريد للكتلة.
library_statuses صفيف من المكتبةفولستاتوس حالة كافة المكتبات على الكتلة.

أقام

نقطة النهاية أسلوب HTTP
2.0/libraries/install POST

تثبيت المكتبات على نظام مجموعة. التثبيت غير متزامن - أنه يكمل في الخلفية بعد الطلب.

هام

ستفشل هذه المكالمة إذا تم إنهاء الكتلة.

تثبيت مكتبة عجلة على كتلة مثل تشغيل pip الأمر ضد ملف العجلة مباشرة على برنامج التشغيل والمنفذين. يتم تثبيت كافة التبعيات المحددة في ملف المكتبة setup.py وهذا يتطلب اسم المكتبة لتلبية setup.py.

التثبيت على المنفذين يحدث فقط عند تشغيل مهمة جديدة. مع Databricks وقت التشغيل 7.1 وما دونها، ترتيب التثبيت للمكتبات غير محدد. لمكتبات العجلات، يمكنك التأكد من أمر تثبيت محدد عن طريق إنشاء ملف مضغوط مع لاحقة .wheelhouse.zip تتضمن جميع ملفات العجلات.

مثال

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/libraries/install \
--data @install-libraries.json

install-libraries.json:

{
  "cluster_id": "10201-my-cluster",
  "libraries": [
    {
      "jar": "dbfs:/mnt/libraries/library.jar"
    },
    {
      "egg": "dbfs:/mnt/libraries/library.egg"
    },
    {
      "whl": "dbfs:/mnt/libraries/mlflow-0.0.1.dev0-py2-none-any.whl"
    },
    {
      "whl": "dbfs:/mnt/libraries/wheel-libraries.wheelhouse.zip"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2",
        "exclusions": ["slf4j:slf4j"]
      }
    },
    {
      "pypi": {
        "package": "simplejson",
        "repo": "https://my-pypi-mirror.com"
      }
    },
    {
      "cran": {
        "package": "ada",
        "repo": "https://cran.us.r-project.org"
      }
    }
  ]
}

استبدال:

  • <databricks-instance><databricks-instance>Azure Databricks ، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net .
  • محتويات install-libraries.json الحقول المناسبة للحل.

يستخدم هذا المثال ملف .netrc.

بنية الطلب

اسم الحقل النوع الوصف
cluster_id STRING معرف فريد للكتلة التي يجب تثبيت هذه المكتبات. هذه الحقل مطلوب.
المصادقة صفيف من المكتبة المكتبات لتثبيت.

إلغاء التثبيت

نقطة النهاية أسلوب HTTP
2.0/libraries/uninstall POST

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

مثال

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/libraries/uninstall \
--data @uninstall-libraries.json

uninstall-libraries.json:

{
  "cluster_id": "10201-my-cluster",
  "libraries": [
    {
      "jar": "dbfs:/mnt/libraries/library.jar"
    },
    {
      "cran": "ada"
    }
  ]
}

استبدال:

  • <databricks-instance><databricks-instance>Azure Databricks ، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net .
  • محتويات uninstall-libraries.json الحقول المناسبة للحل.

يستخدم هذا المثال ملف .netrc.

بنية الطلب

اسم الحقل النوع الوصف
cluster_id STRING معرف فريد للكتلة التي يجب إزالة تثبيت هذه المكتبات. هذه الحقل مطلوب.
المصادقة صفيف من المكتبة المكتبات لإلغاء تثبيت.

هياكل البيانات

في هذا القسم:

بيانات الكتلة

اسم الحقل النوع الوصف
cluster_id STRING المعرف الفريد للكتلة.
library_statuses صفيف من المكتبةفولستاتوس حالة كافة المكتبات على الكتلة.

مكتبة

اسم الحقل النوع الوصف
جرة أو بيضة أو whl أو pypi أو مافين أو كران STRING أو STRING أو STRINGSTRING أو STRING أو STRING إذا جرة، URI من JAR ليتم تثبيتها. DBFS و ADLS ( abfss ) يتم دعم URIs. على سبيل المثال: { "jar": "dbfs:/mnt/databricks/library.jar" } أو
{ "jar": "abfss://my-bucket/library.jar" }. إذا تم استخدام ADLS تأكد من أن الكتلة لديها حق الوصول للقراءة على المكتبة.

إذا البيض، URI من البيض ليتم تثبيتها. يتم اعتماد DBFS و ADLS URIs. على سبيل المثال: { "egg": "dbfs:/my/egg" } أو
{ "egg": "abfss://my-bucket/egg" }.

إذا whl، URI من عجلة القيادة أو عجلات مضغوط ليتم تثبيتها. يتم اعتماد DBFS و ADLS URIs. على سبيل المثال: { "whl": "dbfs:/my/whl" } أو
{ "whl": "abfss://my-bucket/whl" }. إذا تم استخدام ADLS تأكد من أن الكتلة لديها حق الوصول للقراءة على المكتبة. أيضا اسم ملف العجلة يحتاج إلى استخدام الاصطلاح الصحيح. إذا كان سيتم تثبيت عجلات مضغوطة، يجب أن تكون لاحقة اسم الملف .wheelhouse.zip .

إذا pypi مواصفات مكتبة PyPI ليتم تثبيتها. تحديد repo الحقل اختياري وإذا لم يتم تحديده، يتم استخدام فهرس النقطة الافتراضي. على سبيل المثال:
{ "package": "simplejson", "repo": "https://my-repo.com" }

إذا maven، مواصفات مكتبة مافن ليتم تثبيتها. على سبيل المثال:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

إذا cran مواصفات مكتبة CRAN ليتم تثبيتها.

مكتبةفولستاتوس

حالة المكتبة على كتلة معينة.

اسم الحقل النوع الوصف
library المكتبة المعرف الفريد للمكتبة.
الحالة المكتبةالتثبيتالإحصائيات حالة تثبيت المكتبة على نظام المجموعة.
الرسائل صفيفة من STRING كافة المعلومات ورسائل التحذير التي حدثت حتى الآن لهذه المكتبة.
is_library_for_all_clusters BOOL ما إذا كان قد تم تعيين المكتبة ليتم تثبيتها على كافة الكتل عبر واجهة المستخدم المكتبات.

مافن ليباري

اسم الحقل النوع الوصف
إحداثيات STRING إحداثيات مافن على غرار جرادل. على سبيل المثال: org.jsoup:jsoup:1.7.2. هذه الحقل مطلوب.
repo STRING مافن ريبو لتثبيت حزمة مافن من. إذا تم حذفها، يتم البحث في كل من مستودع مافن المركزي وحزم Spark.
الاستبعادات صفيفة من STRING قائمة التبعيات التي يجب استبعادها. على سبيل المثال: ["slf4j:slf4j", "*:hadoop-client"].

استبعادات تبعية مافن: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html .

بيثونبيليباري

اسم الحقل النوع الوصف
package STRING اسم حزمة PyPI لتثبيت. كما يتم اعتماد مواصفات إصدار دقيق اختياري. أمثلة: simplejson و simplejson==3.8.0 . هذه الحقل مطلوب.
repo STRING المستودع حيث يمكن العثور على الحزمة. إذا لم يتم تحديد، يتم استخدام فهرس نقطة الافتراضية.

آركران ليباري

اسم الحقل النوع الوصف
package STRING اسم حزمة CRAN لتثبيت. هذه الحقل مطلوب.
repo STRING المستودع حيث يمكن العثور على الحزمة. إذا لم يتم تحديد، يتم استخدام REPO CRAN الافتراضي.

المكتبةالتثبيتالإحصائيات

حالة مكتبة على كتلة معينة.

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

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