Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como substituir as configurações para clusters do Azure Databricks em Databricks Asset Bundles. Consulte O que são os Databricks Asset Bundles?.
No Azure Databricks, ficheiros de configuração de pacotes, você pode combinar as configurações de cluster em um mapeamento de nível superior resources
com as configurações de cluster em um mapeamento de targets
, da seguinte maneira.
Para tarefas, use job_cluster_key
dentro de uma definição de tarefa para identificar configurações do cluster de tarefas no mapeamento de nível superior resources
para integrar com as configurações do cluster de tarefas em um mapeamento targets
.
# ...
resources:
jobs:
<some-unique-programmatic-identifier-for-this-job>:
# ...
job_clusters:
- job_cluster_key: <some-unique-programmatic-identifier-for-this-key>
new_cluster:
# Cluster settings.
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
jobs:
<the-matching-programmatic-identifier-for-this-job>:
# ...
job_clusters:
- job_cluster_key: <the-matching-programmatic-identifier-for-this-key>
# Any more cluster settings to join with the settings from the
# resources mapping for the matching top-level job_cluster_key.
# ...
Se qualquer configuração de cluster for definida no mapeamento de resources
de nível superior e no mapeamento de targets
para o mesmo job_cluster_key
, a configuração no mapeamento de targets
terá precedência sobre a configuração no mapeamento de resources
de nível superior.
Para Lakeflow Declarative Pipelines, use label
dentro das definições de configuração de um pipeline para identificar as definições de configuração de cluster num mapeamento de nível resources
superior para unir com as definições de configuração de cluster em um mapeamento targets
, por exemplo:
# ...
resources:
pipelines:
<some-unique-programmatic-identifier-for-this-pipeline>:
# ...
clusters:
- label: default | maintenance
# Cluster settings.
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
pipelines:
<the-matching-programmatic-identifier-for-this-pipeline>:
# ...
clusters:
- label: default | maintenance
# Any more cluster settings to join with the settings from the
# resources mapping for the matching top-level label.
# ...
Se qualquer configuração de cluster for definida no mapeamento de resources
de nível superior e no mapeamento de targets
para o mesmo label
, a configuração no mapeamento de targets
terá precedência sobre a configuração no mapeamento de resources
de nível superior.
Exemplo 1: Novas configurações de cluster de trabalho definidas em vários mapeamentos de recursos e sem conflitos de configurações
Neste exemplo, spark_version
no mapeamento de resources
de nível superior é combinado com node_type_id
e num_workers
no mapeamento de resources
em targets
para definir as configurações para o job_cluster_key
nomeado my-cluster
:
# ...
resources:
jobs:
my-job:
name: my-job
job_clusters:
- job_cluster_key: my-cluster
new_cluster:
spark_version: 13.3.x-scala2.12
targets:
development:
resources:
jobs:
my-job:
name: my-job
job_clusters:
- job_cluster_key: my-cluster
new_cluster:
node_type_id: Standard_DS3_v2
num_workers: 1
# ...
Quando você executa databricks bundle validate
para este exemplo, o gráfico resultante é o seguinte:
{
"...": "...",
"resources": {
"jobs": {
"my-job": {
"job_clusters": [
{
"job_cluster_key": "my-cluster",
"new_cluster": {
"node_type_id": "Standard_DS3_v2",
"num_workers": 1,
"spark_version": "13.3.x-scala2.12"
}
}
],
"...": "..."
}
}
}
}
Exemplo 2: Configurações de clusters de trabalho novas e conflitantes definidas em vários mapeamentos de recursos
Neste exemplo, spark_version
e num_workers
são definidas no mapeamento de resources
de nível superior e no mapeamento de resources
em targets
. Neste exemplo, spark_version
e num_workers
no mapeamento em resources
em targets
têm precedência sobre spark_version
e num_workers
no mapeamento de nível superior resources
, para definir as configurações para o job_cluster_key
chamado my-cluster
:
# ...
resources:
jobs:
my-job:
name: my-job
job_clusters:
- job_cluster_key: my-cluster
new_cluster:
spark_version: 13.3.x-scala2.12
node_type_id: Standard_DS3_v2
num_workers: 1
targets:
development:
resources:
jobs:
my-job:
name: my-job
job_clusters:
- job_cluster_key: my-cluster
new_cluster:
spark_version: 12.2.x-scala2.12
num_workers: 2
# ...
Quando você executa databricks bundle validate
para este exemplo, o gráfico resultante é o seguinte:
{
"...": "...",
"resources": {
"jobs": {
"my-job": {
"job_clusters": [
{
"job_cluster_key": "my-cluster",
"new_cluster": {
"node_type_id": "Standard_DS3_v2",
"num_workers": 2,
"spark_version": "12.2.x-scala2.12"
}
}
],
"...": "..."
}
}
}
}
Exemplo 3: Configurações de cluster de pipeline definidas em vários mapeamentos de recursos e sem conflitos de configurações
Neste exemplo, node_type_id
no mapeamento de nível superior resources
é combinado com num_workers
no mapeamento resources
em targets
para definir as configurações para o label
nomeado default
:
# ...
resources:
pipelines:
my-pipeline:
clusters:
- label: default
node_type_id: Standard_DS3_v2
targets:
development:
resources:
pipelines:
my-pipeline:
clusters:
- label: default
num_workers: 1
# ...
Quando você executa databricks bundle validate
para este exemplo, o gráfico resultante é o seguinte:
{
"...": "...",
"resources": {
"pipelines": {
"my-pipeline": {
"clusters": [
{
"label": "default",
"node_type_id": "Standard_DS3_v2",
"num_workers": 1
}
],
"...": "..."
}
}
}
}
Exemplo 4: Configurações conflitantes de cluster de pipeline definidas em vários mapeamentos de recursos
Neste exemplo, num_workers
é definido no mapeamento de resources
de nível superior e no mapeamento de resources
em targets
.
num_workers
no mapeamento em resources
têm precedência sobre targets
no mapeamento de nível superior num_workers
, para definir as configurações para o resources
chamado label
:
# ...
resources:
pipelines:
my-pipeline:
clusters:
- label: default
node_type_id: Standard_DS3_v2
num_workers: 1
targets:
development:
resources:
pipelines:
my-pipeline:
clusters:
- label: default
num_workers: 2
# ...
Quando você executa databricks bundle validate
para este exemplo, o gráfico resultante é o seguinte:
{
"...": "...",
"resources": {
"pipelines": {
"my-pipeline": {
"clusters": [
{
"label": "default",
"node_type_id": "Standard_DS3_v2",
"num_workers": 2
}
],
"...": "..."
}
}
}
}