Åsidosätt inställningar för jobbuppgifter i Databricks-tillgångspaket
Den här artikeln beskriver hur du åsidosätter inställningarna för Azure Databricks-jobbuppgifter i Databricks-tillgångspaket. Se Vad är Databricks-tillgångspaket?
I Azure Databricks paketkonfigurationsfilerkan du använda task
mappning i en jobbdefinition för att koppla jobbaktivitetsinställningarna i en resources
mappning på toppnivå med jobbaktivitetsinstä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>:
# ...
tasks:
- task_key: <some-unique-programmatic-identifier-for-this-task>
# Task settings.
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
jobs:
<the-matching-programmatic-identifier-for-this-job>:
# ...
tasks:
- task_key: <the-matching-programmatic-identifier-for-this-key>
# Any more task settings to join with the settings from the
# resources mapping for the matching top-level task_key.
# ...
Om du vill koppla mappningen på den översta nivån resources
och mappningen targets
för samma task
måste task
-mappningarnas task_key
ställas in på samma värde.
Om någon jobbaktivitetsinställning har definierats både i den översta resources
-mappningen och targets
-mappningen för samma task
, har inställningen i targets
-mappningen företräde framför inställningen i resources
-mappningen.
Exempel 1: Jobbaktivitetsinstä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 task_key
med namnet my-task
(ellipser anger utelämnat innehåll, för korthet):
# ...
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: my-key
new_cluster:
spark_version: 13.3.x-scala2.12
targets:
development:
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: my-task
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": {
"tasks": [
{
"new_cluster": {
"node_type_id": "Standard_DS3_v2",
"num_workers": 1,
"spark_version": "13.3.x-scala2.12"
},
"task-key": "my-task"
}
],
"...": "..."
}
}
}
}
Exempel 2: Konflikterande arbetsuppgiftsinställningar definierade 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 resources
mappning i targets
.
spark_version
och num_workers
i resources
-mappningen i targets
har företräde framför spark_version
och num_workers
i översta nivån av resources
-mappningen. Detta definierar inställningarna för task_key
med namnet my-task
(ellipser anger utelämnat innehåll, för korthet):
# ...
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: my-task
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
tasks:
- task_key: my-task
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": {
"tasks": [
{
"new_cluster": {
"node_type_id": "Standard_DS3_v2",
"num_workers": 2,
"spark_version": "12.2.x-scala2.12"
},
"task_key": "my-task"
}
],
"...": "..."
}
}
}
}