Библиотеки

Чтобы сделать код стороннего разработчика или пользовательский код доступным для записных книжек и заданий, выполняющихся в кластерах, можно установить библиотеку. Библиотеки можно записывать на 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. Дополнительные сведения см. в статье Библиотеки кластера.

Библиотеку кластера можно установить непосредственно из следующих источников:

Не все расположения поддерживаются для всех типов библиотек или всех конфигураций вычислений. См. Рекомендации для отправки библиотек для рекомендаций по настройке.

Внимание

Библиотеки можно установить из DBFS при использовании Databricks Runtime 14.3 LTS и ниже. Однако любой пользователь рабочей области может изменять файлы библиотеки, хранящиеся в DBFS. Чтобы повысить безопасность библиотек в рабочей области Azure Databricks, хранение файлов библиотек в корне DBFS устарело и отключено по умолчанию в Databricks Runtime 15.0 и выше. См . статью "Хранение библиотек в корневом каталоге DBFS" не рекомендуется и отключается по умолчанию.

Вместо этого Databricks рекомендует отправлять все библиотеки, включая библиотеки Python, JAR-файлы и соединители Spark, в файлы рабочей области или тома каталога Unity или с помощью репозиториев пакетов библиотеки. Если рабочая нагрузка не поддерживает эти шаблоны, можно также использовать библиотеки, хранящиеся в облачном хранилище объектов.

Полные сведения о поддержке библиотеки См. в статье о поддержке библиотек Python, поддержке библиотек Java и Scala и поддержке библиотек R.

Рекомендации для отправки библиотек

Databricks поддерживает большинство установок конфигурации библиотек Python, JAR и R, но существуют некоторые неподдерживаемые сценарии. Рекомендуется отправлять библиотеки в исходные расположения, поддерживающие установку на вычислительные ресурсы с общим режимом доступа, так как это рекомендуемый режим для всех рабочих нагрузок. См . режимы доступа. При планировании рабочих процессов с общим режимом доступа запустите рабочий процесс с субъектом-службой.

Внимание

Используйте вычисления только с одним режимом доступа пользователей, если необходимые функциональные возможности не поддерживаются режимом общего доступа. Режим общего доступа к изоляции не является устаревшей конфигурацией в Databricks, которая не рекомендуется.

В следующей таблице приведены рекомендации, организованные версией Databricks Runtime и включением каталога Unity.

Настройка Рекомендация
Databricks Runtime 13.3 LTS и более поздних версий с каталогом Unity Установите библиотеки для вычислений с общим режимом доступа из томов каталога Unity с помощью GRANT READ для всех пользователей учетной записи.

Если применимо, в список разрешений необходимо добавить координаты Maven и пути библиотеки JAR.
Databricks Runtime 11.3 LTS и более поздних версий без каталога Unity Установите библиотеки из файлов рабочей области. (Размер файла составляет 500 МБ.)
Databricks Runtime 10.4 LTS и ниже Установите библиотеки из облачного хранилища объектов.

Поддержка библиотеки Python

В следующей таблице показана совместимость версий среды выполнения Databricks для файлов колес Python для различных режимов доступа к кластеру на основе исходного расположения библиотеки. См. заметки о выпуске Databricks Runtime и режимы совместимости и доступа.

С помощью Databricks Runtime 15.0 и более поздних версий можно использовать requirements.txt файлы для управления зависимостями Python. Эти файлы можно отправить в любое поддерживаемом исходном расположении.

Примечание.

Установка файлов яиц Python не поддерживается в Databricks Runtime 14.0 и более поздних версий. Вместо этого используйте файлы колесика 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 и режимы совместимости и доступа.

Примечание.

В режиме общего доступа администратор должен добавить координаты и пути Maven для библиотек JAR.allowlist См . библиотеки 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

Библиотеки с областью действия записной книжки

Библиотеки Python и R с областью действия записной книжки позволяют устанавливать библиотеки и создавать среды в сеансе записной книжки. Такие библиотеки не влияют на другие записные книжки, работающие в том же кластере. Они не сохраняются и их нужно устанавливать повторно для каждого сеанса. Используйте библиотеки с областью действия записной книжки, если вам нужна настраиваемая среда для конкретной записной книжки.

Примечание.

НА уровне записной книжки нельзя установить JAR.

Внимание

Библиотеки рабочей области устарели и не должны использоваться. См. библиотеки рабочей области (устаревшие версии). Однако хранение библиотек в виде файлов рабочей области отличается от библиотек рабочих областей и по-прежнему полностью поддерживается. Библиотеки, хранящиеся в виде файлов рабочей области, можно установить непосредственно для задач вычислений или заданий.

Управление средой Python

В следующей таблице приведены общие сведения о параметрах, которые можно использовать для установки библиотек Python в Azure Databricks.

Примечание.

Источник пакета Python Использование библиотек с областью действия записной книжки с %pip Библиотеки уровня кластера Библиотеки заданий с API заданий
PyPI Используйте %pip install. См. пример. Выберите PyPI в качестве источника. Добавьте новый объект pypi в библиотеки заданий и укажите поле package.
Частная зеркальная копия PyPI, например Nexus или Artifactory Используйте %pip install с параметром --index-url. Доступно управление секретами. См. пример. Не поддерживается. Не поддерживается.
Система управления версиями, например GitHub, с необработанными исходными данными Используйте %pip install и укажите URL-адрес репозитория в качестве имени пакета. См. пример. Выберите PyPI в качестве источника и укажите URL-адрес репозитория в качестве имени пакета. Добавьте новый объект pypi в библиотеки заданий и укажите URL-адрес репозитория в качестве поля package.
Частная система управления версиями с необработанными исходными данными Используйте %pip install и укажите URL-адрес репозитория с базовой аутентификацией в качестве имени пакета. Доступно управление секретами. См. пример. Не поддерживается. Не поддерживается.
Путь к файлу Используйте %pip install. См. [пример](/библиотеки/notebooks-python-libraries.md#workspace-files. Выберите путь к файлу или ADLS в качестве источника. Добавьте новый egg или whl объект в библиотеки заданий и укажите путь к файлу package в качестве поля.
Azure Data Lake Storage 2-го поколения Используйте %pip install вместе с предварительно подписанным URL-адресом. Пути с протоколом abfss:// Azure Data Lake Storage 2-го поколения не поддерживаются. Выберите путь к файлу или ADLS в качестве источника. Добавьте новый egg или whl объект в библиотеки заданий и укажите путь Azure Data Lake Storage 2-го поколения в качестве package поля.

Приоритет библиотеки Python

Может возникнуть ситуация, когда необходимо переопределить версию встроенной библиотеки или иметь пользовательскую библиотеку, которая конфликтует с именем с другой библиотекой, установленной в кластере. При запуске import <library>библиотека с высоким приоритетом импортируется.

Внимание

Библиотеки, хранящиеся в файлах рабочей области, имеют разные приоритеты в зависимости от того, как они добавляются в Python sys.path. Папка Databricks Git добавляет текущий рабочий каталог в путь перед всеми остальными библиотеками, а записные книжки вне папок Git добавляют текущий рабочий каталог после установки других библиотек. Если вы вручную добавляете каталоги рабочей области в путь, они всегда имеют наименьший приоритет.

Следующий список заказов имеет приоритет от самого высокого до самого низкого. В этом списке меньшее число означает более высокий приоритет.

  1. Библиотеки в текущем рабочем каталоге (только папки Git).
  2. Библиотеки в корневом каталоге папки Git (только папки Git).
  3. Библиотеки, область записные книжки (%pip installв записных книжках).
  4. Библиотеки кластеров (с помощью пользовательского интерфейса, интерфейса командной строки или API).
  5. Библиотеки, включенные в Databricks Runtime.
    • Библиотеки, установленные с помощью скриптов init, могут разрешаться до или после встроенных библиотек в зависимости от того, как они установлены. Databricks не рекомендует устанавливать библиотеки с помощью скриптов инициализации.
  6. Библиотеки в текущем рабочем каталоге (не в папках Git).
  7. Файлы рабочей области, добавленные к файлу sys.path.