Åsidosätta klusterinställningar i Databricks-tillgångspaket
I den här artikeln beskrivs hur du åsidosätter inställningarna för Azure Databricks-kluster i Databricks-tillgångspaket. Se Vad är Databricks-tillgångspaket?
I Azure Databricks-paketkonfigurationsfiler kan du ansluta klusterinställningarna till en mappning på den översta nivån resources
med klusterinställningarna i en targets
mappning enligt följande.
För jobb använder du mappningen job_cluster_key
i en jobbdefinition för att ansluta klusterinställningarna i en mappning på den översta nivån resources
med klusterinställningarna i en targets
mappning, till exempel (ellipser anger utelämnat innehåll, för korthet):
# ...
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.
# ...
Om någon klusterinställning definieras både i mappningen på den översta nivån resources
och mappningen targets
för samma job_cluster_key
, har inställningen i mappningen targets
företräde framför inställningen i mappningen på den översta nivån resources
.
För Delta Live Tables-pipelines använder du mappningen label
i cluster
en pipelinedefinition för att koppla klusterinställningarna till en mappning på den översta nivån resources
med klusterinställningarna i en targets
mappning, till exempel (ellipser anger utelämnat innehåll, för korthet):
# ...
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.
# ...
Om någon klusterinställning definieras både i mappningen på den översta nivån resources
och mappningen targets
för samma label
, har inställningen i mappningen targets
företräde framför inställningen i mappningen på den översta nivån resources
.
Exempel 1: Nya jobbklusterinställningar som definierats i flera resursmappningar och utan inställningskonflikter
I det här exemplet spark_version
kombineras mappningen på den översta nivån resources
med node_type_id
och num_workers
i mappningen resources
i targets
för att definiera inställningarna för det job_cluster_key
namngivna my-cluster
(ellipser anger utelämnat innehåll, för korthet):
# ...
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
# ...
När du kör databricks bundle validate
för det här exemplet är den resulterande grafen följande (ellipser indikerar utelämnat innehåll, för korthet):
{
"...": "...",
"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"
}
}
],
"...": "..."
}
}
}
}
Exempel 2: Motstridiga inställningar för nya jobbkluster som definierats i flera resursmappningar
I det här exemplet spark_version
definieras , och num_workers
både i toppnivåmappningen resources
och i mappningen resources
i targets
. I det här exemplet och spark_version
num_workers
i mappningen resources
i targets
har företräde framför spark_version
och num_workers
i den översta mappningen resources
, för att definiera inställningarna för det job_cluster_key
namngivna my-cluster
(ellipser anger utelämnat innehåll, för korthet):
# ...
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
# ...
När du kör databricks bundle validate
för det här exemplet är den resulterande grafen följande (ellipser indikerar utelämnat innehåll, för korthet):
{
"...": "...",
"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"
}
}
],
"...": "..."
}
}
}
}
Exempel 3: Inställningar för pipelinekluster som definierats i flera resursmappningar och utan inställningskonflikter
I det här exemplet node_type_id
kombineras mappningen på den översta nivån resources
med num_workers
i mappningen resources
i targets
för att definiera inställningarna för det label
namngivna default
(ellipser anger utelämnat innehåll, för korthet):
# ...
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
# ...
När du kör databricks bundle validate
för det här exemplet är den resulterande grafen följande (ellipser indikerar utelämnat innehåll, för korthet):
{
"...": "...",
"resources": {
"pipelines": {
"my-pipeline": {
"clusters": [
{
"label": "default",
"node_type_id": "Standard_DS3_v2",
"num_workers": 1
}
],
"...": "..."
}
}
}
}
Exempel 4: Motstridiga inställningar för pipelinekluster som definierats i flera resursmappningar
I det här exemplet num_workers
definieras både i toppnivåmappningen resources
och i mappningen resources
i targets
. num_workers
i mappningen resources
i targets
har företräde framför num_workers
i toppnivåmappningen resources
, för att definiera inställningarna för det label
namngivna default
(ellipser anger utelämnat innehåll, för korthet):
# ...
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
# ...
När du kör databricks bundle validate
för det här exemplet är den resulterande grafen följande (ellipser indikerar utelämnat innehåll, för korthet):
{
"...": "...",
"resources": {
"pipelines": {
"my-pipeline": {
"clusters": [
{
"label": "default",
"node_type_id": "Standard_DS3_v2",
"num_workers": 2
}
],
"...": "..."
}
}
}
}