Pular para o conteúdo principal

Databricks ativo Bundles recurso

Databricks O ativo Bundles permite que o senhor especifique informações sobre o recurso Databricks usado pelo pacote no mapeamento resources na configuração do pacote. Consulte recurso mapping e recurso key reference.

Este artigo descreve os tipos de recursos suportados para pacotes e fornece detalhes e um exemplo para cada tipo suportado. Para obter mais exemplos, consulte Exemplos de configuração de pacote.

dica

Para gerar YAML para qualquer recurso existente, use o comando databricks bundle generate. Consulte Gerar um arquivo de configuração de pacote.

Recurso suportado

A tabela a seguir lista os tipos de recurso compatíveis com os pacotes. Alguns recursos podem ser criados definindo-os em um pacote e implantando o pacote, e alguns recursos só podem ser criados fazendo referência a um ativo existente para incluir no pacote.

são definidos usando a carga de solicitação de criação de operações do objeto correspondente. Databricks REST API correspondente, onde os campos suportados do objeto, expressos como YAML, são as propriedades suportadas do recurso. Os links para a documentação das cargas úteis correspondentes de cada recurso estão listados na tabela.

dica

O comando databricks bundle validate retorna avisos se forem encontradas propriedades de recurso desconhecidas nos arquivos de configuração do pacote.

Recursos

Objeto correspondente da API REST

aplicativo

Objeto do aplicativo

Cluster

objeto de agrupamento

dashboard

Objeto do painel

experimento

Objeto de experimento

job

Job objeto

modelo (legado)

Objeto modelo (legado)

model_serving_endpoint

servindo modelo endpoint object

pipeline

Objeto de pipeline

monitor de qualidade

Objeto de monitor de qualidade

registered_model (Unity Catalog)

Objeto de modelo registrado

schema (Unity Catalog)

Objeto do esquema

volume (Unity Catalog)

Objeto de volume

aplicativo

Type: Map

O recurso de aplicativo define um aplicativo Databricks. Para obter informações sobre Databricks Apps, consulte O que é Databricks Apps?

Para adicionar um aplicativo, especifique as configurações para definir o aplicativo, incluindo o source_code_path necessário.

dica

O senhor pode inicializar um pacote com um aplicativo Streamlit Databricks usando o seguinte comando:

databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
YAML
apps:
<app-name>:
<app-field-name>: <app-field-value>

Chave

Tipo

Descrição

budget_policy_id

String

O ID da política de orçamento do aplicativo.

config

Mapa

Obsoleto. Em vez disso, defina o comando de configuração do aplicativo e a variável de ambiente no arquivo app.yaml. Consulte Configuração dos aplicativos Databricks.

description

String

A descrição do aplicativo.

name

String

O nome do aplicativo. O nome deve conter somente caracteres alfanuméricos minúsculos e hífens. Ele deve ser exclusivo no site workspace.

permissions

Sequência

As permissões do aplicativo. Veja as permissões.

resources

Sequência

O aplicativo compute recurso. Consulte apps. namerecurso.

source_code_path

String

O caminho local ./app do código-fonte do aplicativo Databricks. Esse campo é obrigatório.

user_api_scopes

Sequência

Os escopos da API do usuário.

apps .namerecurso

Type: Sequence

O compute recurso para o aplicativo.

Chave

Tipo

Descrição

description

String

A descrição do recurso do aplicativo.

job

Mapa

As configurações que identificam o recurso de trabalho a ser usado. Consulte recurso.Job.

name

String

O nome do recurso do aplicativo.

secret

Mapa

As configurações secretas. Consulte recurso.secret.

serving_endpoint

Mapa

As configurações que identificam o recurso de endpoint de atendimento a ser usado. Consulte recurso.serving_endpoint.

sql_warehouse

Mapa

As configurações que identificam o recurso de depósito a ser usado. Consulte recurso.sql_warehouse.

Exemplo

O exemplo a seguir cria um aplicativo chamado my_app que gerencia um Job criado pelo bundle:

YAML
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'

O app.yaml correspondente define a configuração para executar o aplicativo:

YAML
command:
- flask
- --app
- app
- run
- --debug
env:
- name: JOB_ID
valueFrom: 'app-job'

Para obter o pacote completo de exemplos de aplicativos Databricks, consulte o repositório GitHub de exemplos de pacotes.

agrupamento

Type: Map

O recurso de clustering define um clustering.

YAML
clusters:
<cluster-name>:
<cluster-field-name>: <cluster-field-value>

Chave

Tipo

Descrição

apply_policy_default_values

Booleana

Quando definido como true, os valores fixos e default da política serão usados para os campos que forem omitidos. Quando definido como falso, somente valores fixos da política serão aplicados.

autoscale

Mapa

Parâmetros necessários para escalonar automaticamente o clustering para cima e para baixo com base na carga. Veja autoscale.

autotermination_minutes

Integer

Encerra automaticamente o clustering depois que ele fica inativo por esse tempo em minutos. Se não for definido, esse clustering não será encerrado automaticamente. Se especificado, o limite deve estar entre 10 e 10.000 minutos. Os usuários também podem definir esse valor como 0 para desativar explicitamente o encerramento automático.

aws_attributes

Mapa

Atributos relacionados ao clustering em execução no serviço Amazon Web. Se não for especificado na criação do clustering, será usado um conjunto de valores default. Veja aws_attributes.

azure_attributes

Mapa

Atributos relacionados ao clustering em execução em Microsoft Azure. Se não for especificado na criação do clustering, será usado um conjunto de valores default. Veja azure_attributes.

cluster_log_conf

Mapa

A configuração para entrega de spark logs a um destino de armazenamento de longo prazo. Veja clustering.

cluster_name

String

nome do clustering solicitado pelo usuário. Isso não precisa ser exclusivo. Se não for especificado na criação, o nome do clustering será uma cadeia de caracteres vazia.

custom_tags

Mapa

Tags adicionais para recurso de agrupamento. Databricks marcará todos os recursos de clustering (por exemplo, instâncias do AWS e volumes do EBS) com essas marcas, além do default_tags. Veja custom_tags.

data_security_mode

String

O modelo de governança de dados a ser usado ao acessar dados de um clustering. Veja data_security_mode.

docker_image

Mapa

A imagem personalizada do Docker. Veja Docker.

driver_instance_pool_id

String

O ID opcional da instância pool para o driver do clustering pertence. O clustering pool usa a instância pool com id (instance_pool_id) se o driver pool não estiver atribuído.

driver_node_type_id

String

O tipo de nó do driver do Spark. Observe que esse campo é opcional; se não for definido, o tipo de nó do driver será definido como o mesmo valor de node_type_id definido acima. Esse campo, junto com node_type_id, não deve ser definido se virtual_cluster_size estiver definido. Se driver_node_type_id, node_type_id e virtual_cluster_size forem especificados, driver_node_type_id e node_type_id terão precedência.

enable_elastic_disk

Booleana

autoscale Local Storage: quando ativado, esse clustering adquirirá dinamicamente espaço em disco adicional quando o worker Spark estiver com pouco espaço em disco. Esse recurso requer permissões específicas no site AWS para funcionar corretamente - consulte o Guia do Usuário para obter mais detalhes.

enable_local_disk_encryption

Booleana

Se o LUKS deve ser ativado nos discos locais das VMs de clustering

gcp_attributes

Mapa

Atributos relacionados ao clustering em execução no Google Cloud Platform. Se não for especificado na criação do clustering, será usado um conjunto de valores default. Veja gcp_attributes.

init_scripts

Sequência

A configuração para armazenar o script de inicialização. Qualquer número de destinos pode ser especificado. Os scripts são executados sequencialmente na ordem fornecida. Veja init_scripts.

instance_pool_id

String

O ID opcional da instância pool à qual o clustering pertence.

is_single_node

Booleana

Esse campo só pode ser usado quando kind = CLASSIC_PREVIEW. Quando definido como true, o Databricks definirá automaticamente um único nó relacionado a custom_tags, spark_conf e num_workers

kind

String

O tipo de compute descrito por esta especificação compute.

node_type_id

String

Esse campo codifica, por meio de um único valor, o recurso disponível para cada um dos nós do Spark nesse clustering. Por exemplo, os nós do Spark podem ser provisionados e otimizados para cargas de trabalho intensivas de memória ou compute. Uma lista dos tipos de nós disponíveis pode ser recuperada usando o método:Chamada de API /listNodeTypes.

num_workers

Integer

Número de nós worker que esse clustering deve ter. Um clustering tem um driver Spark e um executor num_workers para um total de nós num_workers + 1 Spark.

permissions

Sequência

As permissões de clustering. Veja as permissões.

policy_id

String

A ID da política de cluster usada para criar o clustering, se aplicável.

runtime_engine

String

Determina o mecanismo de tempo de execução do clustering, STANDARD ou PHOTON.

single_user_name

String

Nome de usuário único se data_security_mode for SINGLE_USER

spark_conf

Mapa

Um objeto que contém um conjunto de configurações opcionais especificadas pelo usuário Spark par key-value. Os usuários também podem passar uma série de opções extras de JVM para o driver e o executor por meio de spark.driver.extraJavaOptions e spark.executor.extraJavaOptions, respectivamente. Veja spark_conf.

spark_env_vars

Mapa

Um objeto que contém um conjunto de variáveis de ambiente opcionais, especificadas pelo usuário, para key-value.

spark_version

String

A versão Spark do clustering, por exemplo. 3.3.x-scala2.11. Uma lista das versões disponíveis do Spark pode ser recuperada usando o método :methodChamada de API /sparkVersions.

ssh_public_keys

Sequência

SSH público key conteúdo que será adicionado a cada nó Spark nesse clustering. A chave privada correspondente pode ser usada para fazer login com o nome de usuário ubuntu na porta 2200. Podem ser especificadas até 10 teclas.

use_ml_runtime

Booleana

Esse campo só pode ser usado quando kind = CLASSIC_PREVIEW. effective_spark_version é determinado por spark_version (versão DBR), esse campo use_ml_runtime e se node_type_id é o nó de gpu ou não.

workload_type

Mapa

clustering Atributos que mostram os tipos de carga de trabalho de clustering. Veja workload_type.

Exemplos

O exemplo a seguir cria um clustering dedicado (usuário único) para o usuário atual com Databricks Runtime 15.4 LTS e uma política de cluster:

YAML
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

Este exemplo cria um clustering simples my_cluster e o define como o clustering a ser usado para executar o Notebook em my_job:

YAML
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'

painel

Type: Map

O recurso de dashboard permite que o senhor gerencie AI/BI dashboards em um pacote. Para obter informações sobre AI/BI dashboards, consulte Dashboards.

YAML
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>

Chave

Tipo

Descrição

display_name

String

O nome de exibição do painel.

etag

String

A etag do painel. Pode ser fornecido opcionalmente nas atualizações para garantir que o painel não tenha sido modificado desde a última leitura.

file_path

String

O caminho local do ativo do dashboard, incluindo o nome do arquivo. Os painéis exportados sempre têm a extensão de arquivo .lvdash.json.

permissions

Sequência

As permissões do painel. Veja as permissões.

serialized_dashboard

Qualquer um

O conteúdo do painel na forma de cadeias de caracteres serializadas.

warehouse_id

String

O ID do depósito usado para executar o painel.

Exemplo

O exemplo a seguir inclui e implanta a amostra do painel de análise de viagens de táxi de Nova York no site Databricks workspace.

YAML
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}

Se o senhor usar a interface do usuário para modificar o painel, as modificações feitas por meio da interface do usuário não serão aplicadas ao arquivo JSON do painel no pacote local, a menos que o atualize explicitamente usando bundle generate. Você pode usar a opção --watch para pesquisar e recuperar continuamente as alterações no painel. Consulte Gerar um arquivo de configuração de pacote.

Além disso, se o senhor tentar implantar um pacote que contenha um arquivo JSON de dashboard diferente do arquivo workspace remoto, ocorrerá um erro. Para forçar a implantação e substituir o painel no site remoto workspace pelo local, use a opção --force. Veja implantado a bundle.

experimento

Type: Map

O recurso de experimento permite que o senhor defina experimentos do MLflow em um pacote. Para obter informações sobre os experimentos do MLflow, consulte Organizar treinamento execução com os experimentos do MLflow.

YAML
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>

Chave

Tipo

Descrição

artifact_location

String

O local onde os artefatos do experimento são armazenados.

name

String

O nome amigável que identifica o experimento.

permissions

Sequência

As permissões do experimento. Veja as permissões.

tags

Sequência

Metadados adicionais par key-value. Veja as tags.

Exemplo

O exemplo a seguir define um experimento que todos os usuários podem view:

YAML
resources:
experiments:
experiment:
name: my_ml_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs

Trabalho

Type: Map

O recurso Job permite que o senhor defina o Job e a tarefa correspondente em seu pacote. Para obter informações sobre o Job, consulte a orquestração usando Databricks Jobs. Para um tutorial que usa um Databricks ativo Bundles padrão para criar um trabalho, consulte Desenvolver um trabalho com Databricks ativo Bundles.

YAML
jobs:
<job-name>:
<job-field-name>: <job-field-value>

Chave

Tipo

Descrição

budget_policy_id

String

O ID da política de orçamento especificada pelo usuário a ser usada para esse trabalho. Se não for especificado, uma política de orçamento default poderá ser aplicada ao criar ou modificar o trabalho. Consulte effective_budget_policy_id para ver a política orçamentária usada por essa carga de trabalho.

continuous

Mapa

Uma propriedade contínua opcional para esse trabalho. A propriedade contínua garantirá que sempre haverá uma execução. Somente um dos schedule e continuous pode ser usado. Veja contínuo.

deployment

Mapa

Informações de implantação do Job gerenciar por fontes externas. Veja a implantação.

description

String

Uma descrição opcional para o trabalho. O tamanho máximo é de 27700 caracteres na codificação UTF-8.

edit_mode

String

Modo de edição do trabalho, UI_LOCKED ou EDITABLE.

email_notifications

Mapa

Um conjunto opcional de endereços email que é notificado quando a execução desse trabalho começa ou é concluída, bem como quando esse trabalho é excluído. Veja o e-mail.

environments

Sequência

Uma lista de especificações do ambiente de execução da tarefa que pode ser referenciada por serverless tarefa desse Job. É necessário que um ambiente esteja presente para serverless tarefa. Para a tarefa serverless Notebook, o ambiente pode ser acessado no painel de ambiente do Notebook. Para outras serverless tarefas, é necessário especificar o ambiente da tarefa usando environment_key nas configurações da tarefa. Veja os ambientes.

format

String

O formato do trabalho.

git_source

Mapa

Uma especificação opcional para um repositório Git remoto que contém o código-fonte usado pela tarefa. O campo git_source e o campo tarefa source definidos como GIT não são recomendados para pacotes, pois os caminhos relativos locais podem não apontar para o mesmo conteúdo no repositório Git, e os pacotes esperam que um trabalho implantado tenha o mesmo conteúdo da cópia local de onde foi implantado. Em vez disso, clone o repositório localmente e configure seu projeto de pacote dentro desse repositório, de modo que o código-fonte da tarefa seja o workspace.

health

Mapa

Um conjunto opcional de regras de integridade que podem ser definidas para esse trabalho. Veja saúde.

job_clusters

Sequência

Uma lista de especificações de agrupamento de trabalhos que podem ser compartilhadas e reutilizadas pela tarefa desse trabalho. Veja clustering.

max_concurrent_runs

Integer

Um número máximo opcional permitido de execução concorrente do trabalho. Defina esse valor se o senhor quiser poder executar várias execuções do mesmo trabalho simultaneamente. Veja max_concurrent_runs.

name

String

Um nome opcional para o trabalho. O tamanho máximo é de 4096 bytes na codificação UTF-8.

notification_settings

Mapa

Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos sites email_notifications e webhook_notifications para esse trabalho. Veja notification_settings.

parameters

Sequência

Job-definições de parâmetros de nível. Veja os parâmetros.

performance_target

String

O PerformanceTarget define o desempenho ou a economia que a execução da execução no serverless deve ter.

permissions

Sequência

As permissões do trabalho. Veja as permissões.

queue

Mapa

As configurações de fila do trabalho. Veja a fila.

run_as

Mapa

Configuração somente para gravação. Especifica o usuário ou a entidade de serviço em que o trabalho é executado. Se não for especificado, o trabalho será executado como o usuário que criou o trabalho. user_name ou service_principal_name devem ser especificados. Caso contrário, um erro será gerado. Consulte Especificar uma identidade de execução para um Databricks ativo Bundles fluxo de trabalho.

schedule

Mapa

Um programador periódico opcional para esse trabalho. O comportamento do default é que o trabalho só é executado quando acionado ao clicar em "Executar agora" na interface do usuário do Jobs ou ao enviar uma solicitação API para runNow. Veja programar.

tags

Mapa

Um mapa de tags associadas ao trabalho. Elas são encaminhadas ao clustering como Cluster Tag para o clustering de trabalhos e estão sujeitas às mesmas limitações da Cluster Tag. Um máximo de 25 tags pode ser adicionado ao trabalho.

tasks

Sequência

Uma lista de especificações de tarefa a serem executadas por esse Job. Consulte Adicionar tarefa ao trabalho em Databricks ativo Bundles.

timeout_seconds

Integer

Um tempo limite opcional aplicado a cada execução desse trabalho. Um valor de 0 significa que não há tempo limite.

trigger

Mapa

Uma configuração para acionar uma execução quando determinadas condições são atendidas. Veja o gatilho.

webhook_notifications

Mapa

Uma coleção de IDs de notificação do sistema para notificar quando a execução desse trabalho for iniciada ou concluída. Veja webhook_notifications.

Exemplo

O exemplo a seguir define um Job com o recurso key hello-job com uma tarefa de Notebook:

YAML
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./hello.py

Para obter informações sobre como definir a tarefa do trabalho e substituir as configurações do trabalho, consulte Adicionar tarefa ao trabalho em Databricks ativo Bundles, Substituir configurações de tarefa do trabalho em Databricks ativo Bundles e Substituir configurações de clustering em Databricks ativo Bundles.

important

O campo Job git_source e o campo tarefa source definidos como GIT não são recomendados para pacotes, pois os caminhos relativos locais podem não apontar para o mesmo conteúdo no repositório Git e os pacotes esperam que um Job implantado tenha o mesmo conteúdo que a cópia local de onde foi implantado.

Em vez disso, clone o repositório localmente e configure seu projeto de pacote dentro desse repositório, de modo que o código-fonte da tarefa seja o workspace.

modelo (legado)

Type: Map

O recurso de modelo permite que o senhor defina modelos legados em pacotes. A Databricks recomenda que o senhor use os modelos registrados do Unity Catalog.

model_serving_endpoint

Type: Map

O recurso model_serving_endpoint permite que o senhor defina o endpoint do modelo de serviço. Consulte o endpoint gerenciar servindo modelo.

YAML
model_serving_endpoints:
<model_serving_endpoint-name>:
<model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>

Chave

Tipo

Descrição

ai_gateway

Mapa

A configuração do AI Gateway para o endpoint de serviço. OBSERVAÇÃO: no momento, somente o modelo externo e o ponto de extremidade da taxa de transferência de provisionamento são compatíveis. Ver IA.

config

Mapa

A configuração principal do endpoint de serviço. Veja a configuração.

name

String

O nome do endpoint de serviço. Esse campo é obrigatório e deve ser exclusivo em um site Databricks workspace. Um nome endpoint pode consistir em caracteres alfanuméricos, traços e sublinhado.

permissions

Sequência

As permissões do servindo modelo endpoint. Veja as permissões.

rate_limits

Sequência

Obsoleto. Limites de taxa a serem aplicados ao endpoint de atendimento. Use o AI Gateway para gerenciar os limites de taxa.

route_optimized

Booleana

Habilite a otimização de rota para o serviço endpoint.

tags

Sequência

Tags a serem anexadas ao serviço endpoint e propagadas automaticamente para o faturamento logs. Veja as tags.

Exemplo

O exemplo a seguir define um Unity Catalog servindo o modelo endpoint:

YAML
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'

pipeline

Type: Map

O pipeline recurso permite que o senhor crie o DLT pipeline. Para obter informações sobre o pipeline, consulte DLT. Para um tutorial que usa o padrão Databricks ativo Bundles para criar um pipeline, consulte Desenvolver o pipeline DLT com Databricks ativo Bundles.

YAML
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>

Chave

Tipo

Descrição

allow_duplicate_names

Booleana

Se for falso, a implementação falhará se o nome entrar em conflito com o de outro pipeline.

catalog

String

Um catálogo no Unity Catalog para publicar dados desse pipeline. Se target for especificado, as tabelas desse pipeline serão publicadas em um esquema target dentro de catalog (por exemplo, catalog.target.table). Se target não for especificado, nenhum dado será publicado no Unity Catalog.

channel

String

O canal de versão do DLT que especifica qual versão do DLT deve ser usada.

clusters

Sequência

As configurações de clustering para essa implementação pipeline. Veja clustering.

configuration

Mapa

A configuração para a execução desse pipeline.

continuous

Booleana

Se o pipeline é contínuo ou acionado. Isso substitui trigger.

deployment

Mapa

Tipo de implementação desse pipeline. Veja a implantação.

development

Booleana

Se o pipeline está em modo de desenvolvimento. padrão para falso.

dry_run

Booleana

Se o pipeline é uma execução seca pipeline.

edition

String

A edição do produto de pipeline.

event_log

Mapa

A configuração do evento log para este pipeline. Veja event_log.

filters

Mapa

Os filtros que determinam qual pipeline pacote deve ser incluído no gráfico implantado. Veja os filtros.

id

String

Identificador exclusivo para esse pipeline.

ingestion_definition

Mapa

A configuração para uma ingestão gerenciar pipeline. Essas configurações não podem ser usadas com as configurações libraries, schema, target ou catalog. Veja ingestion_definition.

libraries

Sequência

biblioteca ou código necessário para essa implantação. Ver biblioteca.

name

String

Um nome amigável para esse pipeline.

notifications

Sequência

As configurações de notificação para esse pipeline. Veja as notificações.

permissions

Sequência

As permissões do pipeline. Veja as permissões.

photon

Booleana

Se o Photon está ativado para esse pipeline.

schema

String

O esquema default (banco de dados) de onde as tabelas são lidas ou publicadas.

serverless

Booleana

Se serverless compute está ativado para este pipeline.

storage

String

O diretório DBFS root para armazenar pontos de controle e tabelas.

target

String

Esquema de destino (banco de dados) para adicionar tabelas nesse pipeline. Exatamente um dos schema ou target deve ser especificado. Para publicar no Unity Catalog, especifique também catalog. Esse campo legado está obsoleto para a criação de pipeline em favor do campo schema.

trigger

Mapa

Obsoleto. Qual acionador de pipeline usar. Em vez disso, use continuous.

Exemplo

O exemplo a seguir define um pipeline com o recurso key hello-pipeline:

YAML
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

quality_monitor (Unity Catalog)

Type: Map

O recurso quality_monitor permite que o senhor defina um monitor de tabela do Unity Catalog. Para obter informações sobre monitores, consulte Introdução ao Databricks lakehouse monitoramento.

YAML
quality_monitors:
<quality_monitor-name>:
<quality_monitor-field-name>: <quality_monitor-field-value>

Chave

Tipo

Descrição

assets_dir

String

O diretório para armazenar o monitoramento ativo (por exemplo, o dashboard, tabelas métricas).

baseline_table_name

String

Nome da tabela de linha de base a partir da qual as métricas de desvio são computadas. As colunas na tabela monitorada também devem estar presentes na tabela de linha de base.

custom_metrics

Sequência

Métricas personalizadas para compute na mesa monitorada. Elas podem ser métricas agregadas, métricas derivadas (a partir de métricas agregadas já computadas) ou métricas de desvio (comparando métricas entre janelas de tempo). Veja custom_metrics.

inference_log

Mapa

Configuração para inferência de monitoramento logs. Veja inference_log.

notifications

Mapa

As configurações de notificação do monitor. Veja as notificações.

output_schema_name

String

Esquema em que as tabelas de métricas de saída são criadas.

schedule

Mapa

O programar para atualizar e refrescar automaticamente as tabelas métricas. Veja programar.

skip_builtin_dashboard

Booleana

Se o senhor deve deixar de criar um painel default resumindo as métricas de qualidade dos dados.

slicing_exprs

Sequência

Lista de expressões de coluna para fatiar dados para análise direcionada. Os dados são agrupados por cada expressão de forma independente, resultando em uma fatia separada para cada predicado e seus complementos. Para colunas de alta cardinalidade, somente os 100 principais valores exclusivos por frequência gerarão fatias.

snapshot

Mapa

Configuração para monitoramento de tabelas de instantâneos.

table_name

String

O nome completo da tabela.

time_series

Mapa

Configuração para tabelas de séries temporais de monitoramento. Veja time_series.

warehouse_id

String

Argumento opcional para especificar o depósito para a criação do painel. Se não for especificado, o primeiro depósito em execução será usado.

Exemplos

Para ver um pacote de exemplo completo que define um quality_monitor, consulte o pacote mlops_demo.

Os exemplos a seguir definem monitores de qualidade para os tipos de perfil InferenceLog, TimeSeries e Snapshot.

YAML
# 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
YAML
# 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
YAML
# 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

registered_model (Unity Catalog)

Type: Map

O recurso de modelo registrado permite que o senhor defina modelos no Unity Catalog. Para obter informações sobre Unity Catalog os modelos registrados em, consulte gerenciar o ciclo de vida do Unity Catalog modelo em.

YAML
registered_models:
<registered_model-name>:
<registered_model-field-name>: <registered_model-field-value>

Chave

Tipo

Descrição

catalog_name

String

O nome do catálogo em que o esquema e o modelo registrado residem.

comment

String

O comentário anexado ao modelo registrado.

grants

Sequência

As bolsas associadas ao modelo registrado. Veja subsídios.

name

String

O nome do modelo registrado.

schema_name

String

O nome do esquema em que o modelo registrado reside.

storage_location

String

O local de armazenamento na nuvem sob o qual os arquivos de dados da versão do modelo são armazenados.

Exemplo

O exemplo a seguir define um modelo registrado no Unity Catalog:

YAML
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

schema (Unity Catalog)

Type: Map

O tipo de recurso schema permite que o senhor defina Unity Catalog esquemas para tabelas e outros ativos em seu fluxo de trabalho e pipeline criados como parte de um pacote. Um esquema, diferente de outros tipos de recurso, tem as seguintes limitações:

  • O proprietário de um recurso de esquema é sempre o usuário de implantação e não pode ser alterado. Se run_as for especificado no pacote, ele será ignorado pelas operações no esquema.
  • Somente os campos suportados pela API de criação de objeto Schemas correspondente estão disponíveis para o recurso de esquema. Por exemplo, o site enable_predictive_optimization não é compatível, pois está disponível apenas na API de atualização.
YAML
schemas:
<schema-name>:
<schema-field-name>: <schema-field-value>

Chave

Tipo

Descrição

catalog_name

String

O nome do catálogo principal.

comment

String

Uma descrição de texto em formato livre fornecida pelo usuário.

grants

Sequência

As concessões associadas ao esquema. Veja subsídios.

name

String

O nome do esquema, relativo ao catálogo principal.

properties

Mapa

Um mapa de key-value properties anexado ao esquema.

storage_root

String

O URL da raiz de armazenamento para gerenciar tabelas dentro do esquema.

Exemplos

O exemplo a seguir define um pipeline com o recurso key my_pipeline que cria um esquema Unity Catalog com o key my_schema como destino:

YAML
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.

Um mapeamento de concessões de nível superior não é suportado pelo Databricks ativo Bundles, portanto, se o senhor quiser definir concessões para um esquema, defina as concessões para o esquema dentro do mapeamento schemas. Para obter mais informações sobre concessões, consulte Mostrar, conceder e revogar privilégios.

O exemplo a seguir define um esquema do Unity Catalog com concessões:

YAML
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main

volume (Unity Catalog)

Type: Map

O tipo de recurso de volume permite que o senhor defina e crie volumes do Unity Catalog como parte de um pacote. Ao implantar um feixe com um volume definido, observe que

  • Um volume não pode ser referenciado no artifact_path para o pacote até que ele exista no workspace. Portanto, se quiser usar Databricks ativo Bundles para criar o volume, o senhor deve primeiro definir o volume no bundle, implantá-lo para criar o volume e, em seguida, fazer referência a ele no artifact_path em implantações subsequentes.
  • Os volumes no pacote não são prefixados com o prefixo dev_${workspace.current_user.short_name} quando o destino de implantação tem mode: development configurado. No entanto, você pode configurar manualmente esse prefixo. Consulte Predefinições personalizadas.
YAML
volumes:
<volume-name>:
<volume-field-name>: <volume-field-value>

Chave

Tipo

Descrição

catalog_name

String

O nome do catálogo do esquema e do volume.

comment

String

O comentário anexado ao volume.

grants

Sequência

Os subsídios associados ao volume. Veja subsídios.

name

String

O nome do volume.

schema_name

String

O nome do esquema em que o volume está.

storage_location

String

O local de armazenamento na nuvem.

volume_type

String

O tipo de volume, EXTERNAL ou MANAGED. Um volume externo está localizado no local externo especificado. Um volume gerenciado está localizado no local default especificado pelo esquema pai, pelo catálogo pai ou pelo metastore.

Exemplo

O exemplo a seguir cria um volume Unity Catalog com o key my_volume:

YAML
resources:
volumes:
my_volume:
catalog_name: main
name: my_volume
schema_name: my_schema

Para obter um exemplo de pacote que executa um trabalho que grava em um arquivo no volume Unity Catalog, consulte o repositório bundle-examples GitHub.

Objetos comuns

subsídios

Type: Sequence

Chave

Tipo

Descrição

principal

String

O nome do diretor que receberá privilégios.

privileges

Sequência

Os privilégios a serem concedidos à entidade especificada.