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.
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 suportam apenas a referência a um recurso existente para inclusão 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 |
Crie suporte |
Objeto correspondente da API REST |
---|---|---|
✓ |
||
✓ |
||
✓ |
||
✓ |
||
✓ |
||
✓ |
||
✓ |
||
registered_model (Unity Catalog) |
✓ |
|
esquema (Unity Catalog) |
✓ |
|
volume (Unity Catalog) |
✓ |
agrupamento
O recurso de agrupamento define um todo-propósito de agrupamentos.
Exemplo
O exemplo a seguir cria um clustering chamado my_cluster
e o define como o clustering a ser usado para executar o Notebook em 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"
painel
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.
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.
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
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 .
job
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 programar e orquestrar fluxo de trabalho. Para um tutorial que usa um Databricks ativo Bundles padrão para criar um trabalho, consulte Desenvolver um trabalho em Databricks usando Databricks ativo Bundles.
Exemplo
O exemplo a seguir define um Job com o recurso key hello-job
com uma tarefa de Notebook:
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.
modelo (legado)
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
O recurso model_serving_endpoint permite que o senhor defina o endpoint do modelo de serviço. Consulte o endpoint gerenciar servindo modelo.
Exemplo
O exemplo a seguir define um Unity Catalog servindo o modelo endpoint:
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"
quality_monitor (Unity Catalog)
O recurso quality_monitor permite que o senhor defina um monitor de tabela do Unity Catalog. Para obter informações sobre monitores, consulte Monitorar a qualidade do modelo e endpoint health.
Exemplo
O exemplo a seguir define um monitor de qualidade:
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /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
registered_model (Unity Catalog)
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.
Exemplo
O exemplo a seguir define um modelo registrado no Unity Catalog:
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
pipeline
O pipeline recurso permite que o senhor crie o Delta Live Tables pipeline. Para obter informações sobre pipeline, consulte What is Delta Live Tables? Para um tutorial que usa o padrão Databricks ativo Bundles para criar um pipeline, consulte Desenvolver o pipeline Delta Live Tables com Databricks ativo Bundles.
Exemplo
O exemplo a seguir define um pipeline com o recurso key 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
schema (Unity Catalog)
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.
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:
resources:
pipelines:
my_pipeline:
name: test-pipeline-{{.unique_id}}
libraries:
- notebook:
path: ./nb.sql
development: true
catalog: main
target: ${resources.schemas.my_schema.id}
schemas:
my_schema:
name: test-schema-{{.unique_id}}
catalog_name: main
comment: This schema was created by DABs.
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:
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- CAN_MANAGE
- principal: my_team
privileges:
- CAN_READ
catalog_name: main
volume (Unity Catalog)
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 o senhor quiser usar Databricks ativo Bundles para criar o volume, deverá primeiro definir o volume no bundle, implantá-lo para criar o volume e, em seguida, fazer referência a ele noartifact_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 temmode: development
configurado. No entanto, você pode configurar manualmente esse prefixo. Consulte Predefinições personalizadas.
Exemplo
O exemplo a seguir cria um volume Unity Catalog com o key my_volume
:
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 .