Поделиться через


Установка библиотек из репозитория пакетов

Azure Databricks предоставляет средства для установки библиотек из репозиториев пакетов PyPI, Maven и CRAN. Полные сведения о совместимости библиотек, связанных с вычислениями, см. в библиотеках .

Внимание

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

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

Пакет PyPI

  1. В списке источника библиотеки выберите PyPI.

  2. Введите имя пакета PyPI. Чтобы установить определенную версию библиотеки, используйте следующий формат для библиотеки: <library>==<version> Например: scikit-learn==0.19.1.

    Примечание.

    Для заданий Databricks рекомендует указать версию библиотеки, чтобы обеспечить воспроизводимую среду. Если версия библиотеки не полностью указана, Databricks использует последнюю соответствующую версию. Это означает, что разные запуски одного задания могут использовать разные версии библиотеки, так как публикуются новые версии. Указание версии библиотеки позволяет избежать новых нарушающих изменений в библиотеках, которые могут повредить ваши задания.

  3. (Необязательно) В поле URL-адрес индекса введите URL-адрес индекса PyPI.

  4. Щелкните Установить.

Пакет Maven или Spark

Внимание

Чтобы установить библиотеки Maven на вычислительных ресурсах, настроенных в стандартном режиме доступа (ранее режим общего доступа), необходимо задать разрешения CAN ATTACH TO и CAN MANAGE для вычислений и добавить координаты Maven в список разрешений. См. Добавьте координаты Maven в разрешённый список.

Внимание

Для DBR 14.3 LTS и ниже Databricks использует Apache Ivy 2.4.0 для разрешения пакетов Maven. Для DBR 15.0 и более новых версий Databricks использует Ivy 2.5.1 или выше, а конкретная версия Ivy указана в заметках о выпуске Databricks Runtime и совместимости.

Порядок установки пакетов Maven может повлиять на окончательное дерево зависимостей, которое может повлиять на порядок загрузки библиотек.

  1. В списке кнопок Источник библиотеки выберите Maven.

  2. Укажите координату Maven. Выполните одно из следующих действий:

    • В поле "Координата" введите координату Maven для устанавливаемой библиотеки. Координаты Maven представлены в форме groupId:artifactId:version; например, com.databricks:spark-avro_2.10:1.0.0.
    • Если вы не знаете точные координаты, введите имя библиотеки и нажмите кнопку "Поиск пакетов". Отображается список сопоставленных пакетов. Чтобы просмотреть сведения о пакете, щелкните его имя. Пакеты можно сортировать по имени, организации и оценке. Можно также отфильтровать результаты, написав запрос в строке поиска. Результаты обновляются автоматически.
      1. Выберите Maven Central или Spark Packages в раскрывающемся списке в верхнем левом углу.
      2. При необходимости выберите версию пакета в столбце "Выпуски".
      3. Щелкните + Выберите рядом с пакетом. В поле "Координата" появится выбранный пакет и его версия.
  3. (Необязательно) В поле репозитория можно ввести URL-адрес репозитория Maven.

    Примечание.

    Для внутренних репозиториев Maven необходимо отключить сопоставитель Maven Central по умолчанию, установив spark.databricks.driver.disableDefaultMavenCentralResolver или spark.databricks.driver.disableSparkPackagesResolver в true. Эта новая конфигурация не отключает spark.databricks.driver.preferredMavenCentralMirrorUrl.

  4. В поле "Исключения" при необходимости укажите groupId и artifactId зависимости, которые необходимо исключить (например, log4j:log4j).

    Примечание.

    Maven использует максимально близкую к корню версию, и в случае борьбы двух пакетов за версии с разными зависимостями, приоритет имеет значение, поэтому он может завершиться ошибкой, когда пакет со старой зависимостью загружается сначала.

    Чтобы обойти эту проблему, исключите конфликтующую библиотеку. Например, при установке пакета с координатой com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.22задайте для поля исключения значение com.nimbusds:oauth2-oidc-sdk:RELEASE, чтобы последняя версия eventhubs из MSAL4J была загружена, а зависимость eventhubs удовлетворена.

  5. Щелкните Установить.

Пакет CRAN

  1. В списке кнопок Источник библиотеки выберите CRAN.
  2. В поле "Пакет" введите имя пакета.
  3. (Необязательно) В поле репозитория можно ввести URL-адрес репозитория CRAN.
  4. Щелкните Установить.

Примечание.

Зеркальные копии CRAN предоставляют последнюю версию библиотеки. В результате вы можете получить различные версии пакета R, если вы будете подключать библиотеку к разным кластерам в разное время. Сведения об управлении версиями пакетов R и их исправлении в Databricks см. в базе знаний.