Служебная программа библиотеки (dbutils.library) (устаревшая версия)
Примечание.
dbutils.library.install
и dbutils.library.installPyPI
API удаляются в Databricks Runtime 11.0 и более поздних версий. Большинство команд служебной программы библиотеки устарели. Большинство служебных программ библиотек недоступны в машинном обучении среды выполнения Databricks. Дополнительные сведения dbutils.library.restartPython
см. в статье "Перезапуск процесса Python" в Azure Databricks.
Поддержка этой документации прекращена, она может больше не обновляться. Продукты, службы или технологии, упомянутые в этом контенте, больше не поддерживаются.
Databricks настоятельно рекомендует использовать %pip
магические команды для установки библиотек с областью действия записной книжки. См. статью Библиотеки Python с областью действия записной книжки.
Полная документация по функциональным возможностям служебных программ Databricks см . в справочнике по Databricks Utilities (dbutils).
Команды: install, installPyPI, list, restartPython), updateCondaEnv
Служебная программа library позволяет установить библиотеки Python и создать среду в области действия сеанса записной книжки. Библиотеки доступны как в драйвере, так и на исполнителе, поэтому можно ссылаться на них в определяемых пользователем функциях. Это позволяет делать следующее.
- Зависимости библиотеки записной книжки, организованные в самой записной книжке.
- Пользователи записных книжек с разными зависимостями библиотек для свободного совместного использования кластера.
Отсоединение записной книжки удаляет эту среду. Однако ее можно создать повторно, перезапустив команды API библиотеки install
в записной книжке. Сведения о способе сброса состояния записной книжки без потери среды, см. в API restartPython
.
Служебные программы library включены по умолчанию. Таким образом, по умолчанию среда Python для каждой записной книжки изолирована с помощью отдельного исполняемого файла Python, который создается, когда записная книжка подключается к среде и наследует среду Python по умолчанию в кластере. Библиотеки, установленные с помощью сценария init, в среду Python Azure Databricks по-прежнему доступны. Чтобы отключить эту возможность, необходимо установить для свойства spark.databricks.libraryIsolation.enabled
значение false
.
Этот API совместим с существующей установкой библиотеки на уровне кластера с помощью API пользовательского интерфейса и библиотек. Библиотеки, установленные с помощью этого API, имеют более высокий приоритет, чем библиотеки уровня кластера.
Чтобы получить список доступных команд, выполните 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
Команда install (dbutils.library.install)
При наличии пути к библиотеке устанавливает эту библиотеку в текущем сеансе записной книжки. Библиотеки, установленные путем вызова этой команды, доступны только для текущей записной книжки.
Чтобы отобразить справку для этой команды, выполните dbutils.library.help("install")
.
В этом примере устанавливается .egg
или библиотека .whl
в записной книжке.
Внимание
Команда dbutils.library.install
удалена в Databricks Runtime 11.0 и более поздних версий.
Databricks рекомендует разместить все команды установки библиотеки в первой ячейке записной книжки и вызвать restartPython
в конце этой ячейки. Состояние записной книжки Python сбрасывается после выполнения restartPython
. Записная книжка теряет все состояние, включая, но не ограничиваясь локальными переменными, импортированными библиотеками и другими эфемерными состояниями. Поэтому рекомендуется установить библиотеки и сбросить состояние записной книжки в первой ячейке записной книжки.
Допустимыми источниками библиотек являются dbfs
, abfss
, adl
и 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.
Примечание.
Можно напрямую установить пользовательские файлы wheel с помощью %pip
. В следующем примере предполагается, что вы отправили файл wheel библиотеки в DBFS:
%pip install /dbfs/path/to/your/library.whl
Файлы яйцо не поддерживаются pip, а файлы колеса считаются стандартными для сборки и двоичной упаковки для Python. Однако если необходимо использовать файл Egg способом, совместимым с %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 Package Index (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 автоматически перезапускается. Команду install можно выполнить следующим способом:
%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
Команда list (dbutils.library.list)
Список изолированных библиотек, добавленных для текущего сеанса записной книжки с помощью служебной программы library. Сюда не входят библиотеки, подключенные к кластеру.
Чтобы отобразить справку для этой команды, выполните dbutils.library.help("list")
.
В этом примере перечислены библиотеки, установленные в записной книжке.
dbutils.library.list()
Примечание.
В качестве эквивалента этой команды используется %pip
:
%pip freeze
Команда updateCondaEnv (dbutils.library.updateCondaEnv)
Обновляет среду Conda текущей записной книжки по содержимому environment.yml
. Этот метод поддерживается только для Databricks Runtime в Conda.
Чтобы отобразить справку для этой команды, выполните dbutils.library.help("updateCondaEnv")
.
В этом примере обновляется среда Conda текущей записной книжки по содержимому указанной спецификации.
dbutils.library.updateCondaEnv(
"""
channels:
- anaconda
dependencies:
- gensim=3.4
- nltk=3.4
""")