Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пакеты ресурсов Databricks позволяют указать информацию о ресурсах Azure Databricks, которые используются в рамках пакета, при помощи сопоставления resources
в конфигурации пакета. См. сопоставление ресурсов и справку по ключам ресурсов.
В этой статье описаны поддерживаемые типы ресурсов для пакетов и приведены подробные сведения и пример для каждого поддерживаемого типа. Дополнительные примеры см. в примерах конфигурации пакета .
Совет
Чтобы создать YAML для любого существующего ресурса, используйте команду databricks bundle generate
. См. создание файла конфигурации пакета.
поддерживаемые ресурсы
В следующей таблице перечислены поддерживаемые типы ресурсов для пакетов. Некоторые ресурсы можно создать, определив их в пакете и развернув пакет, и некоторые ресурсы можно создать только путем ссылки на существующий ресурс для включения в пакет.
Ресурсы определяются с помощью полезных данных запроса на создание соответствующего объекта REST API Databricks, где поддерживаемые поля объекта, заданные в формате YAML, являются поддерживаемыми свойствами ресурса. Ссылки на документацию для соответствующих полезных нагрузок каждого ресурса представлены в таблице.
Совет
Команда databricks bundle validate
возвращает предупреждения, если неизвестные свойства ресурсов находятся в файлах конфигурации пакета.
Ресурс | Соответствующий объект REST API |
---|---|
приложения | объект приложения |
кластер | объект кластера |
панели мониторинга | объект панели мониторинга |
эксперимент | Экспериментальный объект |
работа | объект работы |
Модель (устаревшая версия) | Модель (устаревшая версия) объекта |
служебная_конечная_точка_модели | объект конечной точки обслуживания модели |
пайплайн | объект конвейера |
монитор качества | объект контроля качества |
registered_model (каталог Unity) | зарегистрированный объект модели |
схема (каталог Unity) | объект схемы |
секретная_область | Объект области секрета |
объём данных (Unity Catalog) | объект объёма |
приложение
Type: Map
Ресурс приложения определяет приложение Databricks . Сведения о приложениях Databricks см. в разделе "Приложения Databricks".
Чтобы добавить приложение, укажите параметры для определения приложения, включая необходимые source_code_path
.
Совет
Вы можете инициализировать пакет с приложением Streamlit Databricks с помощью следующей команды:
databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
apps:
<app-name>:
<app-field-name>: <app-field-value>
Ключ | Тип | Описание |
---|---|---|
budget_policy_id |
Струна | Идентификатор политики бюджета для приложения. |
config |
Карта | Устарело. Определите команды конфигурации приложения и переменные среды в app.yaml файле. См. раздел "Настройка приложения Databricks". |
description |
Струна | Описание приложения. |
name |
Струна | Имя приложения. Имя должно содержать только буквенно-цифровые символы нижнего регистра и дефисы. Он должен быть уникальным в рабочей области. |
permissions |
Последовательность | Разрешения приложения. Просмотр разрешений. |
resources |
Последовательность | Вычислительные ресурсы приложения. См. apps.name.resources. |
source_code_path |
Струна | Локальный ./app путь исходного кода приложения Databricks. Это поле является обязательным. |
user_api_scopes |
Последовательность | Диапазоны пользовательского API. |
приложения.name.ресурсы
Type: Sequence
Вычислительные ресурсы для приложения.
Ключ | Тип | Описание |
---|---|---|
description |
Струна | Описание ресурса приложения. |
job |
Карта | Настройки, определяющие ресурс, используемый для задания. См. "resources.job". |
name |
Струна | Имя ресурса приложения. |
secret |
Карта | Секретные настройки. См. resources.secret. |
serving_endpoint |
Карта | Параметры, определяющие используемый ресурс конечной точки обслуживания. См. resources.serving_endpoint. |
sql_warehouse |
Карта | Параметры, определяющие используемый ресурс хранилища. См. resources.sql_warehouse. |
Пример
В следующем примере создается приложение с именем my_app
, которое управляет заданием, созданным пакетом:
resources:
jobs:
# Define a job in the bundle
hello_world:
name: hello_world
tasks:
- task_key: task
spark_python_task:
python_file: ../src/main.py
environment_key: default
environments:
- environment_key: default
spec:
client: '1'
# Define an app that manages the job in the bundle
apps:
job_manager:
name: 'job_manager_app'
description: 'An app which manages a job created by this bundle'
# The location of the source code for the app
source_code_path: ../src/app
# The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
resources:
- name: 'app-job'
job:
id: ${resources.jobs.hello_world.id}
permission: 'CAN_MANAGE_RUN'
app.yaml
Соответствующий определяет конфигурацию для запуска приложения:
command:
- flask
- --app
- app
- run
- --debug
env:
- name: JOB_ID
valueFrom: 'app-job'
Полный пакет примеров приложения Databricks см. в репозитории GitHub.
кластер
Type: Map
Ресурс кластера определяет кластер.
clusters:
<cluster-name>:
<cluster-field-name>: <cluster-field-value>
Ключ | Тип | Описание |
---|---|---|
apply_policy_default_values |
Булев | Если задано значение true, фиксированные и значения по умолчанию из политики будут использоваться для полей, которые опущены. Если задано значение false, будут применены только фиксированные значения из политики. |
autoscale |
Карта | Параметры, необходимые для автоматического масштабирования кластеров вверх и вниз на основе нагрузки. См. автомасштабирование. |
autotermination_minutes |
Целое число | Автоматически завершает кластер после его бездействия в течение указанного времени в минутах. Если параметры этого кластера не установлены, он не будет автоматически завершен. Если задано, пороговое значение должно составлять от 10 до 10000 минут. Пользователи также могут задать для этого значения значение 0, чтобы явно отключить автоматическое завершение. |
aws_attributes |
Карта | Атрибуты, связанные с кластерами, работающими в Amazon Web Services. Если при создании кластера не указано, будет использоваться набор значений по умолчанию. См. aws_attributes. |
azure_attributes |
Карта | Атрибуты, связанные с кластерами, работающими в Microsoft Azure. Если при создании кластера не указано, будет использоваться набор значений по умолчанию. См. azure_attributes. |
cluster_log_conf |
Карта | Конфигурация доставки журналов Spark в долгосрочное место хранения. См. cluster_log_conf. |
cluster_name |
Струна | Имя кластера, запрошенное пользователем. Это не обязательно должно быть уникальным. Если он не указан при создании, имя кластера будет пустой строкой. |
custom_tags |
Карта | Дополнительные теги для ресурсов кластера. Databricks пометит все ресурсы кластера (например, экземпляры AWS и тома EBS) этими тегами, а также дополнительными default_tags . См. custom_tags. |
data_security_mode |
Струна | Модель управления данными, используемая при доступе к данным из кластера. См. data_security_mode. |
docker_image |
Карта | Пользовательский образ Docker. См. docker_image. |
driver_instance_pool_id |
Струна | Необязательный идентификатор пула экземпляров, к которому принадлежит драйвер кластера. Кластер пула использует пул экземпляров с идентификатором (instance_pool_id), если пул драйверов не назначен. |
driver_node_type_id |
Струна | Тип узла драйвера Spark. Обратите внимание, что это поле является необязательным; если не установлено, тип узла драйвера будет задан как значение node_type_id , определенное выше. Это поле вместе с node_type_id не следует задавать, если virtual_cluster_size задано. Если указаны оба driver_node_type_id, node_type_id и virtual_cluster_size, driver_node_type_id и node_type_id имеют приоритет. |
enable_elastic_disk |
Булев | Автоматическое масштабирование локального хранилища: когда включено, этот кластер динамически получает дополнительное дисковое пространство, если пользователи Spark испытывают недостаток места на диске. Для правильной работы этой функции требуются определенные разрешения AWS. Дополнительные сведения см. в руководстве пользователя. |
enable_local_disk_encryption |
Булев | Включение LUKS на локальных дисках виртуальных машин кластера |
gcp_attributes |
Карта | Атрибуты, связанные с кластерами, работающими на Google Cloud Platform. Если при создании кластера не указано, будет использоваться набор значений по умолчанию. См. gcp_attributes. |
init_scripts |
Последовательность | Конфигурация для хранения скриптов инициализации. Можно указать любое количество мест назначения. Скрипты выполняются последовательно в указанном порядке. См. init_scripts. |
instance_pool_id |
Струна | Необязательный идентификатор пула экземпляров, к которому принадлежит кластер. |
is_single_node |
Булев | Это поле можно использовать только в том случае kind = CLASSIC_PREVIEW . Если задано значение true, Databricks автоматически устанавливает параметры, связанные с одним узлом custom_tags , spark_conf , и num_workers |
kind |
Струна | Тип вычислений, описанных в этой спецификации вычислений. |
node_type_id |
Струна | Используя отдельное значение, это поле кодирует доступные ресурсы для каждого узла Spark в этом кластере. Например, узлы Spark могут быть подготовлены и оптимизированы для операций в памяти или для ресурсоемких рабочих нагрузок. Список доступных типов узлов можно получить с помощью вызова API :method:clusters/listNodeTypes. |
num_workers |
Целое число | Необходимое число рабочих узлов текущего кластера. В кластере есть один драйвер Spark и num_workers исполнитель, всего num_workers + 1 узлов Spark. |
permissions |
Последовательность | Разрешения кластера. Просмотр разрешений. |
policy_id |
Струна | Идентификатор политики кластера, используемой для создания кластера, если это применимо. |
runtime_engine |
Струна | Определяет движок выполнения кластера, либо STANDARD , либо PHOTON . |
single_user_name |
Струна | Имя одного пользователя, если data_security_mode SINGLE_USER |
spark_conf |
Карта | Объект с набором необязательных, определяемых пользователем пар "ключ-значение" в конфигурации Spark. Пользователи также могут передавать строку дополнительных параметров JVM драйверу и обработчикам через spark.driver.extraJavaOptions и spark.executor.extraJavaOptions соответственно. См. spark_conf. |
spark_env_vars |
Карта | Объект, содержащий набор необязательных пар "ключ-значение", определяемых пользователем переменных среды. |
spark_version |
Струна | Версия Кластера Spark, например 3.3.x-scala2.11 . Список доступных версий Spark можно получить с помощью вызова API :method:clusters/sparkVersions. |
ssh_public_keys |
Последовательность | Содержимое открытого ключа SSH, которое будет добавлено на каждый узел Spark в этом кластере. Соответствующие закрытые ключи можно использовать для входа с именем ubuntu пользователя через порт 2200 . Можно указать до 10 ключей. |
use_ml_runtime |
Булев | Это поле можно использовать только в том случае kind = CLASSIC_PREVIEW .
effective_spark_version определяется spark_version (выпуск DBR), это поле use_ml_runtime и является ли node_type_id узел gpu или нет. |
workload_type |
Карта | Атрибуты кластера, отображающие типы рабочих нагрузок кластеров. См. workload_type. |
Примеры
В следующем примере создается выделенный (один пользователь) кластер для текущего пользователя с Databricks Runtime 15.4 LTS и политикой кластера:
resources:
clusters:
my_cluster:
num_workers: 0
node_type_id: 'i3.xlarge'
driver_node_type_id: 'i3.xlarge'
spark_version: '15.4.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
autotermination_minutes: 60
enable_elastic_disk: true
single_user_name: ${workspace.current_user.userName}
policy_id: '000128DB309672CA'
enable_local_disk_encryption: false
data_security_mode: SINGLE_USER
runtime_engine": STANDARD
В этом примере создается простой кластер my_cluster
, который затем используется для запуска блокнота в my_job
.
bundle:
name: clusters
resources:
clusters:
my_cluster:
num_workers: 2
node_type_id: 'i3.xlarge'
autoscale:
min_workers: 2
max_workers: 7
spark_version: '13.3.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
jobs:
my_job:
tasks:
- task_key: test_task
notebook_task:
notebook_path: './src/my_notebook.py'
existing_cluster_id: ${resources.clusters.my_cluster.id}
информационная панель
Type: Map
Ресурс панели мониторинга позволяет управлять панелями мониторинга AI/BI в пакете. Сведения о панелях мониторинга AI/BI см. в панелях мониторинга.
Замечание
При использовании наборов ресурсов Databricks с поддержкой Git для панелей мониторинга, предотвратите создание повторяющихся панелей, добавив правило синхронизации, которое исключает синхронизацию панелей мониторинга в виде файлов.
sync:
exclude:
- src/*.lvdash.json
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>
Ключ | Тип | Описание |
---|---|---|
display_name |
Струна | Отображаемое имя панели мониторинга. |
etag |
Струна | Etag для панели мониторинга. При обновлении можно при необходимости обеспечить, чтобы панель мониторинга не была изменена с момента последнего чтения. |
file_path |
Струна | Локальный путь к ресурсу панели мониторинга, включая имя файла. Экспортированные панели мониторинга всегда имеют расширение .lvdash.json файла. |
permissions |
Последовательность | Разрешения панели мониторинга. Просмотр разрешений. |
serialized_dashboard |
Любое | Содержимое панели мониторинга в сериализованной строковой форме. |
warehouse_id |
Струна | Идентификатор хранилища, используемый для запуска панели мониторинга. |
Пример
Пример ниже демонстрирует и развертывает образец панели мониторинга NYC Taxi Trip Analysis в рабочей области Databricks.
resources:
dashboards:
nyc_taxi_trip_analysis:
display_name: 'NYC Taxi Trip Analysis'
file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
warehouse_id: ${var.warehouse_id}
Если вы используете пользовательский интерфейс для изменения панели мониторинга, изменения, внесенные с помощью пользовательского интерфейса, не применяются к JSON-файлу панели мониторинга в локальном пакете, если вы явно не обновите его с помощью bundle generate
. Вы можете использовать параметр --watch
для непрерывного опроса и получения изменений на панели мониторинга. См. создание файла конфигурации пакета.
Кроме того, при попытке развернуть пакет, содержащий JSON-файл панели мониторинга, отличный от файла JSON в удаленной рабочей области, возникнет ошибка. Чтобы выполнить развертывание и перезаписать панель мониторинга в удаленной рабочей области с локальной версией, используйте параметр --force
. См. раздел Развертывание пакета.
эксперимент
Type: Map
Ресурс эксперимента позволяет определить эксперименты MLflow в составе пакета. Сведения об экспериментах MLflow см. в разделе Упорядочить тренировочные запуски с помощью экспериментов MLflow.
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>
Ключ | Тип | Описание |
---|---|---|
artifact_location |
Струна | Расположение, в котором хранятся артефакты для эксперимента. |
name |
Струна | Понятное имя, определяющее эксперимент. |
permissions |
Последовательность | Разрешения эксперимента. Просмотр разрешений. |
tags |
Последовательность | Дополнительные пары "ключ-значение" метаданных. См. теги. |
Пример
В следующем примере определяется эксперимент, который могут просматривать все пользователи:
resources:
experiments:
experiment:
name: my_ml_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs
работа
Type: Map
Ресурс задания позволяет вам определить работы и их соответствующие задачи в вашем пакете. Сведения о заданиях см. в разделе "Задания Lakeflow". Учебник, использующий шаблон наборов ресурсов Databricks для создания задания, см. в разделе "Разработка задания с помощью пакетов активов Databricks".
jobs:
<job-name>:
<job-field-name>: <job-field-value>
Ключ | Тип | Описание |
---|---|---|
budget_policy_id |
Струна | Идентификатор указанной пользователем политики бюджета, используемой для этого задания. Если не указано, при создании или изменении задания может применяться политика бюджета по умолчанию. Смотрите effective_budget_policy_id для ознакомления с политикой бюджета, используемой данной рабочей нагрузкой. |
continuous |
Карта | Необязательное непрерывное свойство для этого задания. Непрерывное свойство гарантирует, что всегда выполняется одно выполнение. Можно использовать только один из schedule и continuous . См. непрерывный просмотр. |
deployment |
Карта | Сведения о развертывании заданий, управляемых внешними источниками. См. развертывание. |
description |
Струна | Необязательное описание задания. Максимальная длина — 27700 символов в кодировке UTF-8. |
edit_mode |
Струна | Режим редактирования задания либо UI_LOCKED либо EDITABLE . |
email_notifications |
Карта | Необязательный набор адресов электронной почты, который уведомляется при запуске или завершении задания, а также при его удалении. См. email_notifications. |
environments |
Последовательность | Список спецификаций среды выполнения задач, на которые можно ссылаться бессерверными задачами этого задания. Среда должна присутствовать для бессерверных задач. Для бессерверных задач записной книжки среда доступна на панели среды записной книжки. Для других бессерверных задач необходимо указать среду задач с помощью environment_key в параметрах задач. См. среды. |
format |
Струна | Формат задания. |
git_source |
Карта | Необязательная спецификация для удаленного репозитория Git, содержащего исходный код, используемый задачами. Важно: Поле git_source и поле задачи source , установленное в GIT , не рекомендуется использовать для пакетов, так как локальные относительные пути могут не указывать на одно и то же содержимое в репозитории Git, а пакеты ожидают, что развернутое задание имеет такое же содержимое, как и локальная копия, из которой оно было развернуто.Вместо этого клонируйте репозиторий локально и настройте проект сборки в этом репозитории, чтобы источник задач был частью рабочей области. |
health |
Карта | Необязательный набор правил здоровья, которые можно определить для этой работы. См. здоровье. |
job_clusters |
Последовательность | Список спецификаций кластера заданий, которые могут совместно использоваться и повторно использоваться в задачах этой работы. См. кластеры. |
max_concurrent_runs |
Целое число | Максимально допустимое количество (необязательно) параллельных процессов выполнения задания. Задайте это значение, если требуется одновременное выполнение нескольких процессов выполнения одного и того же задания. См. max_concurrent_runs. |
name |
Струна | Опциональное имя для задания. Максимальная длина — 4096 байт в кодировке UTF-8. |
notification_settings |
Карта | Необязательные параметры уведомлений, используемые при отправке уведомлений в каждую из email_notifications и webhook_notifications для этой задачи. См. notification_settings. |
parameters |
Последовательность | Определения параметров уровня задания. См . параметры. |
performance_target |
Струна | PerformanceTarget определяет, как должна быть производительной или экономичной реализация выполнения без сервера. |
permissions |
Последовательность | Разрешения работы. Просмотр разрешений. |
queue |
Карта | Параметры очереди задания. См . очередь. |
run_as |
Карта | Параметр только для записи. Указывает пользователя или служебного принципала, под именем которого выполняется задание. Если задание не указано, задание выполняется от имени пользователя, создавшего задание. Необходимо указать либо user_name , либо service_principal_name . В противном случае возникает ошибка. См. Задайте идентификатор выполнения для рабочего процесса пакетов ресурсов Databricks. |
schedule |
Карта | Расписание (необязательно) с периодическим выполнением этого задания. Поведение по умолчанию заключается в том, что задание выполняется только при активации, щелкнув "Запустить сейчас" в пользовательском интерфейсе заданий или отправив запрос API в runNow . См. расписание. |
tags |
Карта | Карта тегов, связанных с заданием. Они перенаправляются в кластер в виде тегов кластера для кластеров заданий и имеют те же ограничения, что и теги кластера. В задание можно добавить не более 25 тегов. |
tasks |
Последовательность | Список спецификаций задач, выполняемых этим заданием. См. "Добавление задач в задания в пакетах ресурсов Databricks". |
timeout_seconds |
Целое число | Необязательное время ожидания, применяемое к каждому запуску этой задачи. Значение 0 означает, что время ожидания не истекло. |
trigger |
Карта | Конфигурация для активации запуска при выполнении определенных условий. См. триггер. |
webhook_notifications |
Карта | Коллекция идентификаторов системных уведомлений для оповещения о начале или завершении выполнения каждого запуска этого задания. См. webhook_notifications. |
Примеры
В следующем примере описывается задание с ключом ресурса hello-job
с одной задачей в блокноте.
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./hello.py
В следующем примере определяется задание с записной книжкой SQL:
resources:
jobs:
job_with_sql_notebook:
name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
tasks:
- task_key: notebook
notebook_task:
notebook_path: ./select.sql
warehouse_id: 799f096837fzzzz4
Дополнительные примеры конфигурации заданий см. в разделе "Конфигурация задания".
Сведения об определении задач задания и переопределении параметров задания см. в следующем разделе:
- Добавление задач в задания в пакетах ресурсов Databricks
- Переопределение настроек задач в пакетах ресурсов Databricks
- Переопределение параметров кластера в пакетах ресурсов Databricks
модель (устаревшая версия)
Type: Map
Ресурс модели позволяет определять устаревшие модели в пакетах. Databricks рекомендует вместо этого использовать зарегистрированные модели в каталоге Unity.
конечная_точка_обслуживания_моделей
Type: Map
Ресурс model_serving_endpoint позволяет определить модели обслуживания конечных точек. См. раздел Управление конечными точками обслуживания моделей.
model_serving_endpoints:
<model_serving_endpoint-name>:
<model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>
Ключ | Тип | Описание |
---|---|---|
ai_gateway |
Карта | Конфигурация шлюза ИИ для конечной точки обслуживания. ПРИМЕЧАНИЕ. В настоящее время поддерживаются только внешние модели и подготовленные конечные точки пропускной способности. См. ai_gateway. |
config |
Карта | Базовая конфигурация конечной точки обслуживания. См. конфигурацию. |
name |
Струна | Имя конечной точки обслуживания. Это поле является обязательным и должно быть уникальным в рабочей области Databricks. Имя конечной точки может состоять из буквенно-цифровых символов, дефисов и символов подчеркивания. |
permissions |
Последовательность | Разрешения конечной точки обслуживания модели. Просмотр разрешений. |
rate_limits |
Последовательность | Устарело. Ограничения скорости, применяемые к конечной точке обслуживания. Используйте шлюз искусственного интеллекта для управления ограничениями скорости. |
route_optimized |
Булев | Включите оптимизацию маршрута для конечной точки обслуживания. |
tags |
Последовательность | Теги, которые прикрепляются к точке доступа обслуживания и автоматически распространяются в журналы выставления счетов. См. теги. |
Пример
В следующем примере определяется конечная точка обслуживания модели каталога Unity:
resources:
model_serving_endpoints:
uc_model_serving_endpoint:
name: 'uc-model-endpoint'
config:
served_entities:
- entity_name: 'myCatalog.mySchema.my-ads-model'
entity_version: '10'
workload_size: 'Small'
scale_to_zero_enabled: 'true'
traffic_config:
routes:
- served_model_name: 'my-ads-model-10'
traffic_percentage: '100'
tags:
- key: 'team'
value: 'data science'
конвейер
Type: Map
Ресурс конвейера позволяет создавать конвейеры Декларативных конвейеров Lakeflow. Сведения о конвейерах см. в разделе "Декларативные конвейеры Lakeflow". Руководство по созданию конвейера с помощью шаблона наборов ресурсов Databricks см. в разделе "Разработка декларативных конвейеров Lakeflow с помощью пакетов активов Databricks".
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>
Ключ | Тип | Описание |
---|---|---|
allow_duplicate_names |
Булев | Если установлено значение false, развертывание завершится ошибкой, если имя конфликтует с именем другого конвейера. |
catalog |
Струна | Каталог в каталоге Unity для публикации данных из этого конвейера. Если target задано, таблицы в этом конвейере публикуются в схеме target внутри catalog (например, catalog .target .table ). Если target не указано, данные не публикуются в каталоге Unity. |
channel |
Струна | Канал выпуска декларативных конвейеров Lakeflow, который определяет, какую версию декларативных конвейеров Lakeflow использовать. |
clusters |
Последовательность | Параметры кластера для этого развертывания конвейера. Смотрите кластер. |
configuration |
Карта | Конфигурация для запуска этого конвейера. |
continuous |
Булев | Выполняется ли конвейер непрерывным или запускается. Это заменяет trigger . |
deployment |
Карта | Тип развертывания этого конвейера. См. развертывание. |
development |
Булев | Указывает, находится ли конвейер в режиме разработки. По умолчанию false. |
dry_run |
Булев | Указывает, является ли конвейер сухим запуском. |
edition |
Струна | Выпуск конвейерного продукта. |
event_log |
Карта | Конфигурация журнала событий для этого конвейера. См. event_log. |
filters |
Карта | Фильтры, определяющие, какие пакеты конвейера необходимо включить в развернутый граф. См. фильтры. |
id |
Струна | Уникальный идентификатор для этого конвейера. |
ingestion_definition |
Карта | Конфигурация для управляемого конвейера приема данных. Эти параметры нельзя использовать с параметрами libraries , schema , target или catalog . См. ingestion_definition. |
libraries |
Последовательность | Библиотеки или код, необходимые для этого развертывания. См. библиотеки. |
name |
Струна | Дружественное имя для этого конвейера. |
notifications |
Последовательность | Параметры уведомлений для этого конвейера. См. уведомления. |
permissions |
Последовательность | Разрешения конвейера. Просмотр разрешений. |
photon |
Булев | Включён ли фотон для этого конвейера. |
schema |
Струна | Схема по умолчанию (база данных), из которой извлекаются таблицы или в которую они записываются. |
serverless |
Булев | Включена ли бессерверная вычислительная мощность для этого конвейера? |
storage |
Струна | Корневой каталог DBFS для хранения контрольных точек и таблиц. |
target |
Струна | Целевая схема (база данных) для добавления таблиц в этот конвейер. Точно один из schema или target должен быть указан. Для публикации в каталоге Unity также укажите catalog . Это устаревшее поле больше не следует использовать для создания конвейера; вместо него следует использовать поле schema . |
trigger |
Карта | Устарело. Какой триггер конвейера следует использовать. Вместо этого используйте continuous . |
Пример
В следующем примере определяется конвейер с ключом ресурса hello-pipeline
:
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
clusters:
- label: default
num_workers: 1
development: true
continuous: false
channel: CURRENT
edition: CORE
photon: false
libraries:
- notebook:
path: ./pipeline.py
Дополнительные примеры конфигурации конвейера см. в разделе "Конфигурация конвейера".
монитор качества (каталог Unity)
Type: Map
Ресурс quality_monitor позволяет определить монитор таблицы каталога Unity. Сведения о мониторах см. в разделе "Общие сведения о мониторинге Databricks Lakehouse".
quality_monitors:
<quality_monitor-name>:
<quality_monitor-field-name>: <quality_monitor-field-value>
Ключ | Тип | Описание |
---|---|---|
assets_dir |
Струна | Каталог для хранения ресурсов мониторинга (например, панелей мониторинга, таблиц метрик). |
baseline_table_name |
Струна | Имя базовой таблицы, из которой вычисляются метрики смещения. Столбцы в отслеживаемой таблице также должны присутствовать в базовой таблице. |
custom_metrics |
Последовательность | Пользовательские метрики для вычислений в отслеживаемой таблице. Это могут быть статистические метрики, производные метрики (от уже вычисляемых статистических метрик) или метрики смещения (сравнение метрик в течение нескольких периодов времени). См. custom_metrics. |
inference_log |
Карта | Конфигурация для журналов вывода выводов. См. inference_log. |
notifications |
Карта | Параметры уведомлений для монитора. См. уведомления. |
output_schema_name |
Струна | Схема, в которой создаются выходные таблицы метрик. |
schedule |
Карта | Расписание автоматического обновления и перезагрузки метрических таблиц. См. расписание. |
skip_builtin_dashboard |
Булев | Следует ли пропустить создание панели мониторинга по умолчанию, в котором суммируются метрики качества данных. |
slicing_exprs |
Последовательность | Список выражений столбцов для среза данных с целевым анализом. Данные группируются по каждому выражению независимо, что приводит к отдельному срезу для каждого предиката и его дополнений. Для столбцов высокой кардинальности только первые 100 уникальных значений по частоте будут использоваться для создания срезов. |
snapshot |
Карта | Конфигурация для мониторинга таблиц моментальных снимков. |
table_name |
Струна | Полное имя таблицы. |
time_series |
Карта | Конфигурация для мониторинга таблиц временных рядов. См. time_series. |
warehouse_id |
Струна | Необязательный аргумент для указания хранилища для создания панели мониторинга. Если не указано, будет использоваться первый работающий склад. |
Примеры
Для полного примера пакета, определяющего quality_monitor
, см. пакет mlops_demo.
В следующих примерах определяются мониторы качества для типов профилей InferenceLog, TimeSeries и Snapshot.
# InferenceLog profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
inference_log:
granularities: [1 day]
model_id_col: model_id
prediction_col: prediction
label_col: price
problem_type: PROBLEM_TYPE_REGRESSION
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# TimeSeries profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
time_series:
granularities: [30 minutes]
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# Snapshot profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
snapshot: {}
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
зарегистрированная модель (каталог Unity)
Type: Map
Ресурс зарегистрированной модели позволяет определять модели в каталоге Unity. Сведения о зарегистрированных моделях в каталоге Unity смотрите в статье Управление жизненным циклом модели в каталоге Unity.
registered_models:
<registered_model-name>:
<registered_model-field-name>: <registered_model-field-value>
Ключ | Тип | Описание |
---|---|---|
catalog_name |
Струна | Имя каталога, в котором находится схема и зарегистрированная модель. |
comment |
Струна | Комментарий, присоединенный к зарегистрированной модели. |
grants |
Последовательность | Гранты, ассоциированные с зарегистрированной моделью. Смотрите гранты. |
name |
Струна | Имя зарегистрированной модели. |
schema_name |
Струна | Имя схемы, в которой находится зарегистрированная модель. |
storage_location |
Струна | Расположение хранилища в облаке, в котором хранятся файлы данных версии модели. |
Пример
В следующем примере определяется зарегистрированная модель в каталоге Unity:
resources:
registered_models:
model:
name: my_model
catalog_name: ${bundle.target}
schema_name: mlops_schema
comment: Registered model in Unity Catalog for ${bundle.target} deployment target
grants:
- privileges:
- EXECUTE
principal: account users
схема (каталог Unity)
Type: Map
Тип ресурса схемы позволяет определять схемы каталога Unity для таблиц и других ресурсов в рабочих процессах и конвейерах, созданных в составе пакета. Схема, отличная от других типов ресурсов, имеет следующие ограничения:
- Владелец ресурса схемы всегда является пользователем развертывания и не может быть изменен. Если
run_as
указан в пакете, он будет игнорироваться операциями схемы. - Доступны только поля, поддерживаемые соответствующим объектом schemas create API для ресурса схемы. Например,
enable_predictive_optimization
не поддерживается, так как он доступен только в API обновления.
schemas:
<schema-name>:
<schema-field-name>: <schema-field-value>
Ключ | Тип | Описание |
---|---|---|
catalog_name |
Струна | Имя родительского каталога. |
comment |
Струна | Описание текста свободной формы, предоставленное пользователем. |
grants |
Последовательность | Гранты, связанные с схемой. Смотрите гранты. |
name |
Струна | Имя схемы относительно родительского каталога. |
properties |
Карта | Карта свойств key-value, присоединенных к схеме. |
storage_root |
Струна | URL-адрес корневого хранилища для управляемых таблиц в схеме. |
Примеры
В следующем примере определяется конвейер с ключом ресурса my_pipeline
, который создает схему каталога Unity с ключом my_schema
в качестве целевого объекта:
resources:
pipelines:
my_pipeline:
name: test-pipeline-{{.unique_id}}
libraries:
- notebook:
path: ../src/nb.ipynb
- file:
path: ../src/range.sql
development: true
catalog: ${resources.schemas.my_schema.catalog_name}
target: ${resources.schemas.my_schema.id}
schemas:
my_schema:
name: test-schema-{{.unique_id}}
catalog_name: main
comment: This schema was created by Databricks Asset Bundles.
Сопоставление грантов верхнего уровня не поддерживается пакетами Databricks Asset Bundles, поэтому, если вы хотите установить гранты для схемы, определите гранты для схемы в сопоставлении schemas
. Для получения дополнительной информации о правах доступа см. раздел Показать, предоставить и отозвать привилегии.
В следующем примере определяется схема каталога Unity с грантами:
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
секретное_пространство
Type: Map
Ресурс secret_scope позволяет определять области секретов в пакете. Сведения о областях секретов см. в разделе "Управление секретами".
secret_scopes:
<secret_scope-name>:
<secret_scope-field-name>: <secret_scope-field-value>
Ключ | Тип | Описание |
---|---|---|
backend_type |
Струна | Тип бэкенда, с использованием которого будет создана область. Если этот параметр не указан, по умолчанию будет использовано значение DATABRICKS . |
keyvault_metadata |
Карта | Метаданные для секретной области, если backend_type — это AZURE_KEYVAULT . |
name |
Струна | Имя области, запрашиваемое пользователем. Имена областей уникальны. |
permissions |
Последовательность | Разрешения для применения к области секретного пространства. Разрешения управляются с помощью списков управления доступом (ACL) области секретов. Просмотр разрешений. |
Примеры
В следующем примере определяется секретная область, которая использует бэкенд хранилища ключей.
resources:
secret_scopes:
secret_scope_azure:
name: test-secrets-azure-backend
backend_type: 'AZURE_KEYVAULT'
keyvault_metadata:
resource_id: my_azure_keyvault_id
dns_name: my_azure_keyvault_dns_name
В следующем примере устанавливается пользовательский список управления доступом (ACL) с помощью областей секретов и разрешений.
resources:
secret_scopes:
my_secret_scope:
name: my_secret_scope
permissions:
- user_name: admins
level: WRITE
- user_name: users
level: READ
Пример пакета, демонстрирующий, как определить область секрета и создать задание с задачей, которая считывает его, можно найти в репозитории GitHub с примерами пакетов.
том (каталог Unity)
Type: Map
Тип ресурса тома позволяет определять и создавать тома каталога Unity как часть пакета. При развертывании пакета с определенным томом обратите внимание на следующее:
- Нельзя ссылаться на том в
artifact_path
пакета, пока он не будет существовать в рабочей области. Таким образом, если вы хотите использовать пакеты ресурсов Databricks для создания тома, сначала необходимо определить том в пакете, развернуть его для создания тома, а затем ссылаться на него вartifact_path
в последующих развертываниях. - Тома в наборе не получают префикс
dev_${workspace.current_user.short_name}
, если для целевого объекта развертывания настроенmode: development
. Однако этот префикс можно настроить вручную. См. пользовательские предустановки.
volumes:
<volume-name>:
<volume-field-name>: <volume-field-value>
Ключ | Тип | Описание |
---|---|---|
catalog_name |
Струна | Имя каталога схем и томов. |
comment |
Струна | Комментарий, прикрепленный к тому. |
grants |
Последовательность | Гранты, связанные с томом. Смотрите гранты. |
name |
Струна | Имя тома. |
schema_name |
Струна | Имя схемы, в которой находится том. |
storage_location |
Струна | Расположение хранилища в облаке. |
volume_type |
Струна | Тип тома, либо EXTERNAL , или MANAGED . Внешний том находится в указанном внешнем расположении. Управляемый том находится в расположении по умолчанию, указанном родительской схемой, родительским каталогом или хранилищем метаданных. См. раздел "Управляемые и внешние тома". |
Пример
В следующем примере создается том каталога Unity с ключом my_volume
:
resources:
volumes:
my_volume:
catalog_name: main
name: my_volume
schema_name: my_schema
Для примера пакета, который выполняет задание по записи в файл в объёме Unity Catalog, см. репозиторий bundle-examples на GitHub.
Общие объекты
гранты
Type: Sequence
Ключ | Тип | Описание |
---|---|---|
principal |
Струна | Имя субъекта, которому будут предоставлены привилегии. |
privileges |
Последовательность | Привилегии, которые нужно предоставить указанному объекту. |