الأداة المساعدة للمكتبة (dbutils.library) (قديم)

إشعار

dbutils.library.install تتم إزالة واجهات برمجة التطبيقات وواجهات dbutils.library.installPyPI برمجة التطبيقات في Databricks Runtime 11.0 وما فوق. يتم إهمال معظم أوامر الأدوات المساعدة للمكتبة. لا تتوفر معظم الأدوات المساعدة للمكتبة على Databricks Runtime ML. للحصول على معلومات حول dbutils.library.restartPython، راجع إعادة تشغيل عملية Python على Azure Databricks.

تم إيقاف هذه الوثائق وقد لا يتم تحديثها. لم تعد المنتجات أو الخدمات أو التقنيات المذكورة في هذا المحتوى مدعومة.

توصي Databricks بشدة باستخدام %pip الأوامر السحرية لتثبيت المكتبات ذات نطاق دفتر الملاحظات. راجع مكتبات Python ذات نطاق دفتر الملاحظات.

للحصول على وثائق كاملة لوظيفة أدوات Databricks المساعدة، راجع مرجع Databricks Utilities (dbutils).

الأوامر: install, installPyPI, list, restartPython), updateCondaEnv

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

  • تبعيات المكتبة لدفتر ملاحظات ليتم تنظيمه داخل دفتر الملاحظات نفسه.
  • مستخدمو دفتر الملاحظات الذين لديهم تبعيات مكتبة مختلفة لمشاركة نظام مجموعة دون تداخل.

يؤدي فصل دفتر ملاحظات إلى تدمير هذه البيئة. ومع ذلك، يمكنك إعادة إنشائها عن طريق إعادة تشغيل أوامر واجهة برمجة تطبيقات المكتبة install في دفتر الملاحظات. restartPython راجع واجهة برمجة التطبيقات لمعرفة كيفية إعادة تعيين حالة دفتر الملاحظات دون فقدان بيئتك.

يتم تمكين الأدوات المساعدة للمكتبة بشكل افتراضي. لذلك، بشكل افتراضي، يتم عزل بيئة Python لكل دفتر ملاحظات باستخدام ملف Python قابل للتنفيذ منفصل يتم إنشاؤه عند إرفاق دفتر الملاحظات ويرث بيئة Python الافتراضية على نظام المجموعة. لا تزال المكتبات المثبتة من خلال برنامج نصي init في بيئة Azure Databricks Python متوفرة. يمكنك تعطيل هذه الميزة عن طريق تعيين spark.databricks.libraryIsolation.enabled إلى false.

تتوافق واجهة برمجة التطبيقات هذه مع تثبيت المكتبة الموجودة على مستوى المجموعة من خلال واجهة المستخدم وواجهة برمجة تطبيقات المكتبات. المكتبات المثبتة من خلال واجهة برمجة التطبيقات هذه لها أولوية أعلى من المكتبات على مستوى المجموعة.

لسرد الأوامر المتوفرة، قم بتشغيل dbutils.library.help().

install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment

أمر التثبيت (dbutils.library.install)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("install").

يقوم هذا المثال بتثبيت .egg مكتبة أو .whl داخل دفتر ملاحظات.

هام

dbutils.library.install تمت إزالة في Databricks Runtime 11.0 وما فوق.

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

مصادر المكتبة المقبولة هي dbfsو abfssadlو و.wasbs

dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

إشعار

يمكنك تثبيت ملفات العجلة المخصصة مباشرة باستخدام %pip. في المثال التالي، نفترض أنك قمت بتحميل ملف عجلة المكتبة إلى DBFS:

%pip install /dbfs/path/to/your/library.whl

ملفات البيض غير مدعومة بواسطة pip، وتعتبر ملفات العجلة معيار البناء والتعبئة الثنائية ل Python. ومع ذلك، إذا كنت تريد استخدام ملف بيضة بطريقة متوافقة مع %pip، يمكنك استخدام الحل البديل التالي:

# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib>  # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")

الأمر installPyPI (dbutils.library.installPyPI)

نظرا لحزمة فهرس حزمة Python (PyPI)، قم بتثبيت تلك الحزمة داخل جلسة دفتر الملاحظات الحالية. يتم عزل المكتبات المثبتة عن طريق استدعاء هذا الأمر بين دفاتر الملاحظات.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("installPyPI").

يقوم هذا المثال بتثبيت حزمة PyPI في دفتر ملاحظات. version، repoو، و extras اختيارية. استخدم الوسيطة extras لتحديد ميزة الإضافات (متطلبات إضافية).

dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

هام

dbutils.library.installPyPI تمت إزالة في Databricks Runtime 11.0 وما فوق.

version لا يمكن أن يكون المفتاحان و extras جزءا من سلسلة حزمة PyPI. على سبيل المثال: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") غير صحيح. version استخدم الوسيطتين و extras لتحديد معلومات الإصدار والإضافات كما يلي:

dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

إشعار

عند استبدال dbutils.library.installPyPI الأوامر بالأوامر %pip ، تتم إعادة تشغيل مترجم Python تلقائيا. يمكنك تشغيل أمر التثبيت كما يلي:

%pip install azureml-sdk[databricks]==1.19.0

يحدد هذا المثال متطلبات المكتبة في دفتر ملاحظات واحد ويثبتها باستخدام %run في الآخر. للقيام بذلك، قم أولا بتعريف المكتبات المراد تثبيتها في دفتر ملاحظات. يستخدم هذا المثال دفتر ملاحظات يسمى InstallDependencies.

dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

ثم قم بتثبيتها في دفتر الملاحظات الذي يحتاج إلى هذه التبعيات.

%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...

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

dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy

يمكنك أيضا استخدام هذه التقنية لتثبيت مكتبات مثل tensorflow التي يجب تحميلها عند بدء العملية:

dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow

أمر القائمة (dbutils.library.list)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("list").

يسرد هذا المثال المكتبات المثبتة في دفتر ملاحظات.

dbutils.library.list()

إشعار

ما يعادل هذا الأمر الذي يستخدم %pip هو:

%pip freeze

الأمر updateCondaEnv (dbutils.library.updateCondaEnv)

التحديثات بيئة Conda لدفتر الملاحظات الحالي استنادا إلى محتويات environment.yml. يتم دعم هذا الأسلوب فقط لوقت تشغيل Databricks على Conda.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("updateCondaEnv").

يحدث هذا المثال بيئة Conda لدفتر الملاحظات الحالي استنادا إلى محتويات المواصفات المتوفرة.

dbutils.library.updateCondaEnv(
"""
channels:
  - anaconda
dependencies:
  - gensim=3.4
  - nltk=3.4
""")