Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Поддержка этой документации прекращена, она возможно, больше не будет обновляться.
Эта информация относится к устаревшим интерфейсам командной строки Databricks версии 0.18 и ниже. Databricks рекомендует использовать более новую версию Интерфейса командной строки Databricks версии 0.205 или более поздней. См. интерфейс командной строки Databricks. Чтобы найти версию интерфейса командной строки Databricks, выполните команду databricks -v.
Для перехода с Databricks CLI версии 0.18 или ниже на Databricks CLI версии 0.205 или более поздней, см. раздел Миграция Databricks CLI.
Интерфейс командной строки Databricks версии 0.205 и выше не поддерживает CLI стека. Databricks рекомендует вместо этого использовать Databricks Terraform Provider.
Примечание.
Для работы с CLI стека требуется CLI Databricks версии 0.8.3 или выше.
Интерфейс командной строки стека позволяет управлять стеком Azure Databricks ресурсов, таких как задания, записные книжки и файлы DBFS. Записные книжки и файлы DBFS можно хранить локально и создавать шаблон JSON конфигурации стека, определяющий сопоставления локальных файлов с путями в рабочей области Azure Databricks, а также конфигурации заданий, которые выполняют записные книжки.
Используйте для развертывания стека и управления им интерфейс командной строки стека с JSON-шаблоном конфигурации стека.
Чтобы запустить подкоманды CLI для стека Databricks, добавьте их в databricks stack.
databricks stack --help
Usage: databricks stack [OPTIONS] COMMAND [ARGS]...
[Beta] Utility to deploy and download Databricks resource stacks.
Options:
-v, --version [VERSION]
--debug Debug Mode. Shows full stack trace on error.
--profile TEXT CLI connection profile to use. The default profile is
"DEFAULT".
-h, --help Show this message and exit.
Commands:
deploy Deploy a stack of resources given a JSON configuration of the stack
Usage: databricks stack deploy [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks and DBFS
files [default: False]
download Download workspace notebooks of a stack to the local filesystem
given a JSON stack configuration template.
Usage: databricks stack download [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks in the
local filesystem [default: False]
Развертывание стека в рабочей области
Эта подкоманда развертывает стек. Сведения о настройке стека см. в этом разделе.
databricks stack deploy ./config.json
JSON-шаблон конфигурации стека содержит пример config.json.
Скачать изменения в блокноте стека
Эта подкоманда скачивает записные книжки стека.
databricks stack download ./config.json
Примеры
Настройка стека
Структура файла в примере стека
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Этот пример стека содержит основную записную книжку notebooks/common/notebook.scala вместе с записными книжками настройки в папке notebooks/config. В lib/library.jar есть зависимость JAR-библиотеки стека.
config.json — это JSON-шаблон конфигурации стека. Это то, что передается в интерфейс командной строки (CLI) для развертывания стека.
JSON-шаблон конфигурации стека
Шаблон конфигурации стека описывает его конфигурацию.
cat config.json
{
"name": "example-stack",
"resources": [
{
"id": "example-workspace-notebook",
"service": "workspace",
"properties": {
"source_path": "notebooks/common/notebook.scala",
"path": "/Users/example@example.com/dev/notebook",
"object_type": "NOTEBOOK"
}
},
{
"id": "example-workspace-config-dir",
"service": "workspace",
"properties": {
"source_path": "notebooks/config",
"path": "/Users/example@example.com/dev/config",
"object_type": "DIRECTORY"
}
},
{
"id": "example-dbfs-library",
"service": "dbfs",
"properties": {
"source_path": "lib/library.jar",
"path": "dbfs:/tmp/lib/library.jar",
"is_dir": false
}
},
{
"id": "example-job",
"service": "jobs",
"properties": {
"name": "Example Stack CLI Job",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_DS3_v2",
"num_workers": 3
},
"timeout_seconds": 7200,
"max_retries": 1,
"notebook_task": {
"notebook_path": "/Users/example@example.com/dev/notebook"
},
"libraries": [
{
"jar": "dbfs:/tmp/lib/library.jar"
}
]
}
}
]
}
Каждое задание, записная книжка рабочей области, каталог рабочей области, файл DBFS или каталог DBFS определяются в виде объекта ResourceConfig. Каждый объект ResourceConfig, который представляет рабочую область или актив DBFS, содержит сопоставление файла или каталога, где они существуют локально (source_path), с их расположением в рабочей области или DBFS (path).
Схема шаблона конфигурации стека устанавливает схему для шаблона конфигурации стека.
Развертывание стека
Стек развертывается с помощью команды databricks stack deploy <configuration-file>.
databricks stack deploy ./config.json
Во время развертывания стека ресурсы DBFS и рабочей области загружаются в вашу рабочую область Azure Databricks, и создаются задания.
Во время развертывания стека JSON-файл StackStatus для развертывания сохраняется в том же каталоге, что и шаблон конфигурации стека, а к его имени непосредственно перед расширением deployed добавляется .json (например, ./config.deployed.json). Этот файл используется интерфейсом командной строки стека для наблюдения за ранее развернутыми ресурсами в рабочей области.
Схема состояния стека описывает схему конфигурации стека.
Внимание
Не пытайтесь изменить или переместить файл состояния стека. Если вы получаете ошибки, касающиеся файла состояния стека, удалите файл и повторите попытку развертывания.
./config.deployed.json
{
"cli_version": "0.8.3",
"deployed_output": [
{
"id": "example-workspace-notebook",
"databricks_id": {
"path": "/Users/example@example.com/dev/notebook"
},
"service": "workspace"
},
{
"id": "example-workspace-config-dir",
"databricks_id": {
"path": "/Users/example@example.com/dev/config"
},
"service": "workspace"
},
{
"id": "example-dbfs-library",
"databricks_id": {
"path": "dbfs:/tmp/lib/library.jar"
},
"service": "dbfs"
},
{
"id": "example-job",
"databricks_id": {
"job_id": 123456
},
"service": "jobs"
}
],
"name": "example-stack"
}
Структуры данных
В этом разделе рассматриваются следующие вопросы.
Схема шаблона конфигурации стека
StackConfig
Это внешние поля шаблона конфигурации стека. Все поля обязательные.
| Имя поля | Тип | Описание |
|---|---|---|
| имя | STRING |
Имя стека. |
| ресурсы | Список объектов ResourceConfig. | Актив в Azure Databricks. Ресурсы связаны с тремя службами (пространствами имен REST API): рабочей областью, заданиями и DBFS. |
Конфигурация ресурсов
Поля для каждого объекта ResourceConfig. Все поля обязательные.
| Имя поля | Тип | Описание |
|---|---|---|
| id | STRING |
Уникальный идентификатор ресурса. Уникальность объекта ResourceConfig реализуется принудительным образом. |
| услуга | ResourceService | Служба REST API, с которой работает ресурс. Одно из: jobs,workspace или dbfs. |
| свойства | ResourceProperties | Набор полей в этом различается в зависимости от службы ResourceConfig. |
СвойстваРесурса
Свойства ресурса в зависимости от службы ResourceService. Поля классифицируются как используемые или не используются в Azure Databricks REST API. Все перечисленные поля являются обязательными.
| услуга | Поля из REST API, используемые в интерфейсе командной строки программы Stack. | Поля, используемые только в интерфейсе командной строки (CLI) стека |
|---|---|---|
| Рабочее пространство | path: STRING — удаленные пути в рабочей области для записных книжек или каталогов. (Пример: /Users/example@example.com/notebook)тип_объекта: тип объекта API рабочего пространства — тип объекта Notebook. Может принимать только значение NOTEBOOK или DIRECTORY. |
source_path: STRING — локальный исходный путь к записным книжкам или каталогам рабочей области. Относительный путь к файлу шаблона конфигурации стека или абсолютный путь в файловой системе. |
| работа | В любом поле структуры settings или new_settings. Единственное поле, которое не требуется в структуре settings или new_settings, но требуется для CLI стека: name: STRING — название задачи для развертывания. Чтобы избежать создания слишком большого количества повторяющихся заданий, CLI стека требует уникальность имен для заданий, развернутых с помощью стека. |
Нет. |
| dbfs | path: STRING — соответствующий удаленный путь DBFS. Начните с dbfs:/. (Пример: dbfs:/this/is/a/sample/path)is_dir: BOOL — указывает, является ли путь DBFS каталогом или файлом. |
source_path: STRING — локальный исходный путь к файлам или каталогам DBFS. Относительный путь к файлу шаблона конфигурации стека или абсолютный путь в файловой системе. |
ResourceService
Каждый ресурс относится к определенной службе, которая соответствует REST API Databricks. Это сервисы, поддерживаемые стековым интерфейсом командной строки.
| Служба | Описание |
|---|---|
| Рабочее пространство | Записная книжка или каталог рабочей области. |
| работа | Задание Azure Databricks. |
| dbfs | Файл или каталог DBFS. |
Схема состояния стека
StackStatus
После развертывания стека с помощью интерфейса командной строки создается файл состояния стека. Поля верхнего уровня:
| Имя поля | Тип | Описание |
|---|---|---|
| имя | STRING |
Имя стека. Это то же поле, что и в StackConfig. |
| cli_version | STRING |
Версия CLI Databricks, используемая для развертывания стека. |
| развернутые_ресурсы | Список объектов ResourceStatus. | Состояние каждого развернутого ресурса. Для каждого ресурса, определенного в StackConfig, здесь создается соответствующий объект ResourceStatus. |
ResourceStatus
| Имя поля | Тип | Описание |
|---|---|---|
| id | STRING |
Уникальный идентификатор стека для ресурса. |
| услуга | ResourceService | Служба REST API, с которой работает ресурс. Одно из: jobs,workspace или dbfs. |
| databricks_id | DatabricksId | Физический идентификатор развернутого ресурса. Фактическая схема зависит от типа (службы) ресурса. |
DatabricksId
Объект JSON, поле которого зависит от службы.
| Служба | Поле в JSON | Тип | Описание |
|---|---|---|---|
| Рабочее пространство | путь | STRING | Абсолютный путь к записной книжке или каталогу в рабочей области Azure Databricks. Именование согласовано с API рабочей области. |
| работа | идентификатор_работы | STRING | Идентификатор задания, отображаемый в рабочей области Azure Databricks. Его можно использовать для обновления уже развернутых заданий. |
| dbfs | путь | STRING | Абсолютный путь к записной книжке или каталогу в рабочей области Azure Databricks. Именование соответствует DBFS API. |