Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы сторонний или пользовательский код был доступен для записных книжек и заданий, работающих на вычислительных ресурсах, можно установить библиотеку. Библиотеки можно записывать на Python, Java, Scala и R. Вы можете отправлять библиотеки Python, Java и Scala и указывать на внешние пакеты в репозиториях PyPI, Maven и CRAN.
В состав Azure Databricks входит множество общих библиотек в Databricks Runtime. Чтобы узнать, какие библиотеки включены в Databricks Runtime, ознакомьтесь с разделом Системная средазаметок о выпуске Databricks Runtime, выбрав нужную версию Databricks Runtime.
Примечание.
Служба поддержки Майкрософт помогает выявить и устранить проблемы, связанные с библиотеками, установленными и обслуживаемыми Azure Databricks. Для сторонних компонентов, включая библиотеки, Майкрософт предоставляет коммерчески оправданную поддержку, способствующую дальнейшему устранению неполадок. Специалисты службы поддержки Майкрософт стараются максимально помочь и могут решить проблему. Для соединителей с открытым кодом и проектов, размещенных на GitHub, рекомендуем сообщать о проблемах на GitHub и отслеживать их. В стандартном процессе отправки обращения в службу поддержки действия по разработке, такие как затенение JAR-файлов или создание библиотек Python, не поддерживаются. Для ускорения решения проблемы требуется консультация. Специалисты службы поддержки могут попросить вас воспользоваться другими каналами по технологиям с открытым кодом, чтобы связаться с экспертами в определенной области. Существует несколько веб-сайтов сообществ. Два из них — страница Microsoft Q&A для Azure Databricks и Stack Overflow.
библиотеки, относящиеся к вычислительным областям
Библиотеки можно установить на вычислительный ресурс, чтобы они могли использоваться всеми ноутбуками и заданиями, выполняющимися на этом ресурсе. Databricks поддерживает библиотеки Python, JAR и R. См. библиотеки для вычислительных процессов.
Вы можете установить библиотеку, предназначенную для вычислений, непосредственно из следующих источников:
- Репозиторий пакетов, например PyPI, Maven или CRAN
- Файлы рабочей области
- Тома каталога Unity
- Расположение облачного хранилища объектов
- Путь на локальном компьютере
Не все расположения поддерживаются для всех типов библиотек или всех конфигураций вычислений. См. рекомендации по загрузке библиотек для рекомендаций по конфигурации.
Внимание
Библиотеки можно установить из DBFS при использовании Databricks Runtime 14.3 LTS и ниже. Однако любой пользователь рабочей области может изменять файлы библиотеки, хранящиеся в DBFS. Чтобы повысить безопасность библиотек в рабочей области Azure Databricks, хранение файлов библиотек в корне DBFS устарело и отключено по умолчанию в Databricks Runtime 15.1 и выше. См . статью "Хранение библиотек в корневом каталоге DBFS" не рекомендуется и отключается по умолчанию.
Вместо этого Databricks рекомендует загружать все библиотеки, включая библиотеки Python, файлы JAR и соединители Spark, в файлы рабочей области или тома каталога Unity, или использовать репозитории пакетов библиотек. Если рабочая нагрузка не поддерживает эти шаблоны, можно также использовать библиотеки, хранящиеся в облачном хранилище объектов.
Полные сведения о поддержке библиотеки См. в статье о поддержке библиотек Python, поддержке библиотек Java и Scala и поддержке библиотек R.
Рекомендации по отправке библиотек
Databricks поддерживает большинство установок конфигурации библиотек Python, JAR и R, но существуют некоторые неподдерживаемые сценарии. Рекомендуется отправлять библиотеки в исходные расположения, поддерживающие установку на вычислительные ресурсы с стандартным режимом доступа (ранее общим режимом доступа), так как это рекомендуемый режим для всех рабочих нагрузок. См. режимы доступа. При планировании заданий со стандартным режимом доступа выполните задание с помощью учетной записи службы.
Внимание
Используйте вычисления только с выделенным режимом доступа (ранее режимом доступа с одним пользователем), если необходимые функции не поддерживаются стандартным режимом доступа. Режим общего доступа без изоляции в Databricks является устаревшей конфигурацией и не рекомендуется.
В следующей таблице приведены рекомендации, организованные версией Databricks Runtime и включением Unity Catalog.
| Настройка | Рекомендация |
|---|---|
| Databricks Runtime, начиная с версии 13.3 LTS, с каталогом Unity | Установите библиотеки для вычислений с стандартным режимом доступа из томов каталога Unity с GRANT для необходимых пользователей. Если применимо, в список разрешений необходимо добавить координаты Maven и пути библиотеки JAR. |
| Databricks Runtime 11.3 LTS и более новые версии без каталога Unity | Установите библиотеки из файлов рабочей области. (Размер файла составляет 500 МБ.) |
| Databricks Runtime 10.4 LTS и ниже | Установите библиотеки из облачного хранилища объектов. |
Поддержка библиотеки Python
В следующей таблице указана совместимость версий Databricks Runtime с файлами колес для Python в различных режимах доступа к вычислительным ресурсам, в соответствии с расположением источника библиотеки. См. заметки о выпуске Databricks Runtime, версии и совместимость и режимы доступа.
В Databricks Runtime 15.0 и более поздних версий можно использовать requirements.txt файлы для управления зависимостями Python. Эти файлы можно отправить на любое поддерживаемое исходное расположение.
Примечание.
Установка egg-файлов Python поддерживается только в Databricks Runtime 13.3 LTS и ниже и только в выделенном режиме, либо в режиме общего доступа без изоляции. Кроме того, вы не можете установить файлы яиц Python на томах или файлах рабочей области. Вместо этого используйте файлы колесика Python или установите пакеты из PyPI.
| Стандартный режим доступа | Выделенный режим доступа | Режим общего доступа без изоляции (устаревшая версия) | |
|---|---|---|---|
| PyPI | 13.3 LTS и выше | Все поддерживаемые версии среды выполнения Databricks | Все поддерживаемые версии среды выполнения Databricks |
| Файлы рабочей области | 13.3 LTS и выше | 13.3 LTS и выше | 14.1 и выше |
| Тома | 13.3 LTS и выше | 13.3 LTS и выше | Не поддерживается |
| Облачное хранилище | 13.3 LTS и выше | Все поддерживаемые версии среды выполнения Databricks | Все поддерживаемые версии среды выполнения Databricks |
| DBFS (не рекомендуется) | Не поддерживается | 14.3 и ниже | 14.3 и ниже |
Поддержка библиотеки Java и Scala
В следующей таблице показана совместимость версий среды выполнения Databricks для JAR-файлов для различных режимов доступа к вычислительным ресурсам в зависимости от расположения источника библиотеки. См. заметки о выпуске Databricks Runtime, версии и совместимость и режимы доступа.
Дополнительные сведения о развертывании JAR-файлов Scala в кластере с поддержкой каталога Unity в стандартном режиме доступа см. в руководстве по запуску кода Scala на бессерверных вычислениях. Обратите внимание, что в стандартных кластерах каталога Unity классы в библиотеках JAR должны находиться в именованном пакете, например com.databricks.MyClass, или ошибки будут возникать при импорте библиотеки.
Примечание.
Стандартный режим доступа требует, чтобы администратор добавил координаты Maven и пути к библиотекам JAR в allowlist. См. библиотеки допустимых списков и скрипты инициализации для вычислений в стандартном режиме доступа (ранее называвшегося режимом общего доступа).
| Стандартный режим доступа | Выделенный режим доступа | Режим общего доступа без изоляции (устаревшая версия) | |
|---|---|---|---|
| Maven | 13.3 LTS и выше | Все поддерживаемые версии среды выполнения Databricks | Все поддерживаемые версии среды выполнения Databricks |
| Файлы рабочей области | Не поддерживается | Не поддерживается | 14.1 и выше |
| Тома | 13.3 LTS и выше | 13.3 LTS и выше | Не поддерживается |
| Облачное хранилище | 13.3 LTS и выше | Все поддерживаемые версии среды выполнения Databricks | Все поддерживаемые версии среды выполнения Databricks |
| DBFS (не рекомендуется) | Не поддерживается | 14.3 и ниже | 14.3 и ниже |
Поддержка библиотеки R
В следующей таблице указывается совместимость версий среды выполнения Databricks для пакетов CRAN для различных режимов доступа к вычислительным ресурсам. См. заметки о выпуске Databricks Runtime, версии и совместимость и режимы доступа.
| Стандартный режим доступа | Выделенный режим доступа | Режим общего доступа без изоляции (устаревшая версия) | |
|---|---|---|---|
| КРАН | Не поддерживается | Все поддерживаемые версии среды выполнения Databricks | Все поддерживаемые версии среды выполнения Databricks |
Удостоверение установщика
При установке библиотеки из файлов рабочей области или томов каталога Unity идентификатор может быть связан с установкой в зависимости от режима доступа к вычислительным ресурсам. Учетная запись должна иметь доступ для чтения к файлу библиотеки.
| Стандартный режим доступа | Выделенный режим доступа | Режим общего доступа без изоляции (устаревшая версия) |
|---|---|---|
| Удостоверение пользователя, который устанавливает библиотеку | Идентичность ответственного руководителя | Нет личности |
Библиотеки с областью действия записной книжки
Библиотеки, доступные для Python и R и предназначенные для записных книжек, позволяют устанавливать библиотеки и создавать среду, ограниченную сессией записной книжки. Эти библиотеки не влияют на другие записные книжки, работающие на одном вычислительном компьютере. Библиотеки, привязанные к конспекту, не сохраняются и их нужно устанавливать заново при каждом сеансе. Используйте библиотеки для записной книжки, если вам нужна кастомная среда для конкретной записной книжки.
Примечание.
Установить JAR на уровне записной книжки невозможно.
Внимание
Библиотеки рабочей области устарели и не должны использоваться. См. также Библиотеки рабочей области (устаревшие версии). Однако хранение библиотек в виде файлов рабочей области отличается от библиотек рабочих областей и по-прежнему полностью поддерживается. Библиотеки, хранящиеся в виде файлов рабочей области, можно установить непосредственно для задач вычислений или заданий.
Управление средой Python
В следующей таблице приведены общие сведения о параметрах, которые можно использовать для установки библиотек Python в Azure Databricks.
Примечание.
-
Пользовательские контейнеры, использующие среду на основе conda, несовместимы с библиотеками уровня блокнота и вычислительными библиотеками в Databricks Runtime 10.4 LTS и более поздними версиями. Вместо этого Azure Databricks рекомендует устанавливать библиотеки непосредственно в образе или с помощью скриптов инициализации. Чтобы продолжить использование вычислительных библиотек в этих сценариях, можно задать для конфигурации Spark значение
spark.databricks.driverNfs.clusterWidePythonLibsEnabled. Поддержка конфигурации Spark будет удалена 31 декабря 2021 года или позже.
| Источник пакета Python | Использование библиотек с областью действия записной книжки с %pip | Библиотеки, привязанные к записной книжке, с базовым YAML-файлом среды | библиотеки, ориентированные на вычисления | Библиотеки заданий с API заданий |
|---|---|---|---|---|
| PyPI | Используйте %pip install. См. пример. |
Добавьте имя пакета PyPI в базовый файл YAML среды. См. пример. | Выберите PyPI в качестве источника. | Добавьте новый объект pypi в библиотеки заданий и укажите поле package. |
| Локальное зеркало PyPI, например Nexus или Artifactory | Используйте %pip install с опцией --index-url. Доступно управление секретами. См. пример. |
Добавьте -–index-url в файл YAML базовой среды. Доступно управление секретами. См. пример. |
Не поддерживается. | Не поддерживается. |
| Система управления версиями, например GitHub, с необработанным исходным кодом | Используйте %pip install и укажите URL-адрес репозитория в качестве имени пакета. См. пример. |
Добавьте URL-адрес репозитория в качестве имени пакета в файл YAML базовой среды. См. пример. | Выберите PyPI в качестве источника и укажите URL-адрес репозитория в качестве имени пакета. | Добавьте новый объект pypi в библиотеки заданий и укажите URL-адрес репозитория в качестве поля package. |
| Частная система управления версиями с необработанным исходным кодом | Используйте %pip install и укажите URL-адрес репозитория с базовой аутентификацией в качестве имени пакета. Доступно управление секретами. См. пример. |
Добавьте репозиторий с базовой проверкой подлинности в качестве имени пакета в файл YAML базовой среды. См. пример. | Не поддерживается. | Не поддерживается. |
| Путь к файлу | Используйте %pip install. См. пример. |
Добавьте путь к файлу в качестве имени пакета в файл YAML базовой среды. См. пример. | Выберите путь к файлу или ADLS в качестве источника. | Добавьте новый egg или whl объект в библиотеки заданий и укажите путь к файлу package в качестве поля. |
| Azure Data Lake Storage | Используйте %pip install вместе с предварительно подписанным URL-адресом. Пути с протоколом Azure Data Lake Storage abfss:// не поддерживаются. |
Добавьте предварительно подписанный URL-адрес в качестве имени пакета в базовый файл YAML среды. Пути с протоколом Azure Data Lake Storage abfss:// не поддерживаются. |
Выберите путь к файлу или ADLS в качестве источника. | Добавьте новый объект egg или whl в библиотеки заданий и укажите путь к Azure Data Lake Storage в качестве поля package. |
Приоритет библиотеки Python
Может возникнуть ситуация, когда необходимо переопределить версию встроенной библиотеки, или если у вас есть пользовательская библиотека, которая по имени конфликтует с другой библиотекой, установленной в вычислительной среде. При запуске import <library>библиотека с высоким приоритетом импортируется.
Внимание
Библиотеки, хранящиеся в файлах рабочей области, имеют разные приоритеты в зависимости от того, как они добавляются в Python sys.path. Папка Databricks Git добавляет текущий рабочий каталог в путь перед всеми остальными библиотеками, а записные книжки вне папок Git добавляют текущий рабочий каталог после установки других библиотек. Если вы вручную добавляете каталоги рабочей области в путь, они всегда имеют наименьший приоритет.
Следующий список расположен по убыванию приоритета, от самого высокого к самому низкому. В этом списке меньшее число означает более высокий приоритет.
- Библиотеки в текущем рабочем каталоге (только папки Git).
- Библиотеки в корневом каталоге папки Git (только папки Git).
- Библиотеки, ограниченные областью действия блокнота (
%pip installв блокнотах). - Библиотеки, связанные с областью вычислений (с использованием пользовательского интерфейса, интерфейса командной строки или API).
- Библиотеки, включенные в Databricks Runtime.
- Библиотеки, установленные с помощью скриптов init, могут подключаться до или после встроенных библиотек в зависимости от способа их установки. Databricks не рекомендует устанавливать библиотеки с помощью скриптов инициализации.
- Библиотеки в текущем рабочем каталоге (не в папках Git).
- Файлы рабочей области, добавленные к файлу
sys.path.