Как установить библиотеку в кластер блоков данных с помощью какой-либо команды в блокноте? - PullRequest
0 голосов
/ 05 марта 2020

На самом деле я хочу установить библиотеку на мой кластер Azure, но я не могу использовать метод пользовательского интерфейса. это потому, что каждый раз, когда мой кластер будет меняться, и при переходе я не могу добавить к нему библиотеку с помощью пользовательского интерфейса. Есть ли какая-либо команда утилиты databricks для этого?

1 Ответ

4 голосов
/ 06 марта 2020

Существуют различные способы установки пакетов в Azure Блоки данных:

GUI Метод

Метод 1: Использование библиотек

Чтобы сделать сторонний или локально созданный код доступным для ноутбуков и заданий, работающих в ваших кластерах, вы можете установить библиотеку. Библиотеки могут быть записаны в Python, Java, Scala и R. Вы можете загружать библиотеки Java, Scala и Python и указывать на внешние пакеты в репозиториях PyPI, Maven и CRAN.

Действия по установке сторонних библиотек:

Шаг 1: Создание кластера Databricks.

Шаг 2: Выберите созданный кластер.

Шаг 3: Выберите библиотеки => Установить новый => Выберите источник библиотеки = "Maven" => Координаты => Пакеты поиска => Выберите Maven Central => Поиск для пакета требуется. Пример: (GDAL) => Выберите требуемую версию (3.0.0) => Установить

enter image description here

Методы для ноутбуков

Метод 2: Использование Сценарии инициализации кластера

Сценарии инициализации кластера - это сценарии инициализации, определенные в конфигурации кластера. Сценарии инициализации кластера применяются как к создаваемым вами кластерам, так и к тем, которые созданы для выполнения заданий. Поскольку сценарии являются частью конфигурации кластера, управление доступом к кластеру позволяет вам контролировать, кто может изменять сценарии.

Шаг 1: Добавьте путь DBFS dbfs: /databricks/scripts/gdal_install.sh в сценарии инициализации кластера

# --- Run 1x to setup the init script. ---
# Restart cluster after running.
dbutils.fs.put("/databricks/scripts/gdal_install.sh","""
#!/bin/bash
sudo add-apt-repository ppa:ubuntugis/ppa
sudo apt-get update
sudo apt-get install -y cmake gdal-bin libgdal-dev python3-gdal""",
True)

Step2: Перезапустите кластер после первого запуска step1.

Method3: * Пакеты 1129 * устанавливаются в контейнер Spark с помощью pip install.

Использование pip для установки библиотеки "psutil".

enter image description here

Method4: Библиотечные утилиты

Библиотечные утилиты позволяют устанавливать Python библиотеки и создавать среду, подходящую для сеанса ноутбука. Библиотеки доступны как для драйвера, так и для исполнителей, поэтому вы можете ссылаться на них в UDF. Это позволяет:

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

enter image description here

CLI & API Methods

Method5: CLI библиотек

Вы запускаете подкоманды CLIB библиотек данных, добавляя их в библиотеки библиотек данных.

databricks libraries -h

Установите JAR из DBFS:

databricks libraries install --cluster-id $CLUSTER_ID --jar dbfs:/test-dir/test.jar

Method6: API библиотек

API библиотек позволяет устанавливать и удалять библиотеки и получать состояние библиотек в кластере.

Установка библиотек в кластере. Установка асинхронная - она ​​завершается в фоновом режиме после запроса. 2.0/libraries/install

Пример запроса:

{
  "cluster_id": "10201-my-cluster",
  "libraries": [
    {
      "jar": "dbfs:/mnt/libraries/library.jar"
    },
    {
      "egg": "dbfs:/mnt/libraries/library.egg"
    },
    {
      "whl": "dbfs:/mnt/libraries/mlflow-0.0.1.dev0-py2-none-any.whl"
    },
    {
      "whl": "dbfs:/mnt/libraries/wheel-libraries.wheelhouse.zip"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2",
        "exclusions": ["slf4j:slf4j"]
      }
    },
    {
      "pypi": {
        "package": "simplejson",
        "repo": "https://my-pypi-mirror.com"
      }
    },
    {
      "cran": {
        "package": "ada",
        "repo": "https://cran.us.r-project.org"
      }
    }
  ]
}
...