Åsidosätta klusterinställningar i Databricks-tillgångspaket
Den här artikeln beskriver hur du åsidosätter inställningarna för Azure Databricks-kluster i Databricks-tillgångspaket. Se Vad är Databricks-tillgångspaket?
I Azure Databricks paketkonfigurationsfilerkan du ansluta klusterinställningarna i en resources
mappning på den översta nivån med klusterinställningarna i en targets
mappning, enligt följande.
För jobb använder du job_cluster_key
mappning i en jobbdefinition för att koppla klusterinställningarna till en resources
mappning på toppnivå 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 har definierats både i den översta resources
mappning och targets
mappning för samma job_cluster_key
, har inställningen i targets
mappning företräde framför inställningen i den översta resources
mappning.
För pipelines i Delta Live Tables använder du label
-mappning inom cluster
för en pipelinedefinition för att ansluta klusterinställningarna i en toppnivå resources
-mappning med klusterinställningarna i en targets
-mappning, till exempel (ellipser indikerar 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 har definierats både i den översta resources
mappning och targets
mappning för samma label
, har inställningen i targets
mappning företräde framför inställningen i den översta resources
mappning.
Exempel 1: Nya jobbklusterinställningar som definierats i flera resursmappningar och utan inställningskonflikter
I det här exemplet kombineras spark_version
i den översta resources
mappningen med node_type_id
och num_workers
i resources
mappning i targets
för att definiera inställningarna för job_cluster_key
med namnet 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 det resulterande diagrammet enligt 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 definieras spark_version
och num_workers
både i mappningen på den översta nivån resources
och i mappningen resources
i targets
. I det här exemplet har spark_version
och num_workers
i resources
mappning i targets
företräde framför spark_version
och num_workers
i mappningen på den översta nivån resources
för att definiera inställningarna för job_cluster_key
med namnet 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 det resulterande diagrammet enligt 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 kombineras node_type_id
i den översta resources
mappningen med num_workers
i resources
mappning i targets
för att definiera inställningarna för label
med namnet default
(ellipser indikerar 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 det resulterande diagrammet enligt 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 definieras num_workers
både i mappningen på den översta nivån i resources
och i mappningen i resources
i targets
.
num_workers
i resources
mappning i targets
ha företräde framför num_workers
i mappningen på den översta nivån resources
för att definiera inställningarna för label
med namnet 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 det resulterande diagrammet enligt 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
}
],
"...": "..."
}
}
}
}