Databricks Varlık Paketlerinde küme ayarlarını geçersiz kılma
Bu makalede, Databricks Varlık Paketlerinde Azure Databricks kümelerinin ayarlarının nasıl geçersiz kılındığı açıklanır. Bkz . Databricks Varlık Paketleri nedir?.
Azure Databricks paket yapılandırma dosyalarında, en üst düzey resources
eşlemesinde yer alan küme ayarlarını aşağıda gösterildiği gibi bir targets
eşlemesindeki küme ayarlarıyla birleştirebilirsiniz.
İşler için, bir iş tanımındaki job_cluster_key
eşlemesini kullanarak, küme ayarlarını en üst düzey resources
eşlemesi ile targets
eşlemesindeki küme ayarlarıyla birleştirin. (Üç nokta, kısaltılmış içerikleri ifade etmek için kullanılır):
# ...
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.
# ...
Bir küme ayarı hem üst düzey resources
eşlemesinde hem de aynı targets
için job_cluster_key
eşlemesinde tanımlanırsa, targets
eşlemesindeki ayar üst düzey resources
eşlemesindeki ayardan önceliklidir.
DLT işlem hatları için, bir işlem hattı tanımında yer alan label
içindeki cluster
eşlemesini kullanarak en üst düzey resources
eşlemesindeki küme ayarlarını bir targets
eşlemesindeki küme ayarlarıyla birleştirin (örneğin, üç nokta atlanmış içeriği gösterir, kısalık adına).
# ...
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.
# ...
Bir küme ayarı hem üst düzey resources
eşlemesinde hem de aynı targets
için label
eşlemesinde tanımlanırsa, targets
eşlemesindeki ayar üst düzey resources
eşlemesindeki ayardan önceliklidir.
Örnek 1: Birden çok kaynak eşlemesinde tanımlanan ve hiçbir ayar çakışması olmayan yeni iş kümesi ayarları
Bu örnekte, üst düzey spark_version
eşlemesindeki resources
, node_type_id
adlı num_workers
ayarlarını tanımlamak için resources
'daki targets
eşlemesindeki job_cluster_key
ve my-cluster
ile birleştirilir (üç nokta, kısa süre için atlanan içeriği gösterir):
# ...
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
# ...
Bu örnek için databricks bundle validate
çalıştırdığınızda, sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta, kısa süre için atlanmış içeriği gösterir):
{
"...": "...",
"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"
}
}
],
"...": "..."
}
}
}
}
Örnek 2: Birden çok kaynak eşlemesinde tanımlanan yeni iş kümesi ayarları çakışıyor
Bu örnekte, spark_version
ve num_workers
hem üst düzey resources
eşlemesinde hem de resources
içindeki targets
eşlemesinde tanımlanır. Bu örnekte, spark_version
num_workers
eşlemesindeki resources
ve targets
, spark_version
adlı num_workers
ayarlarını tanımlamak üzere üst düzey resources
eşlemesindeki job_cluster_key
ve my-cluster
'ten önce gelir (üç nokta, atlanmış içeriği gösterir, kısa bir şekilde):
# ...
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
# ...
Bu örnek için databricks bundle validate
çalıştırdığınızda, sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta, kısa süre için atlanmış içeriği gösterir):
{
"...": "...",
"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"
}
}
],
"...": "..."
}
}
}
}
Örnek 3: Birden çok kaynak eşlemesinde tanımlanan ve hiçbir ayar çakışması olmayan pipeline kümesi ayarları
Bu örnekte, üst düzey node_type_id
eşlemesindeki resources
, num_workers
adlı resources
ayarlarını tanımlamak için targets
'daki label
eşlemesindeki default
ile birleştirilir (üç nokta atlanan içeriği gösterir, kısa süre için):
# ...
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
# ...
Bu örnek için databricks bundle validate
çalıştırdığınızda, sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta, kısa süre için atlanmış içeriği gösterir):
{
"...": "...",
"resources": {
"pipelines": {
"my-pipeline": {
"clusters": [
{
"label": "default",
"node_type_id": "Standard_DS3_v2",
"num_workers": 1
}
],
"...": "..."
}
}
}
}
Örnek 4: Birden çok kaynak haritalamasında tanımlanan çakışan işlem hattı kümesi ayarları
Bu örnekte, num_workers
hem üst düzey resources
eşlemesinde hem de resources
içindeki targets
eşlemesinde tanımlanır.
num_workers
'deki resources
eşlemesindeki targets
, num_workers
adlı resources
ayarlarını tanımlamak amacıyla üst düzey label
eşlemesindeki default
'ten daha önceliklidir (üç nokta atlanmış içeriği gösterir, özet için):
# ...
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
# ...
Bu örnek için databricks bundle validate
çalıştırdığınızda, sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta, kısa süre için atlanmış içeriği gösterir):
{
"...": "...",
"resources": {
"pipelines": {
"my-pipeline": {
"clusters": [
{
"label": "default",
"node_type_id": "Standard_DS3_v2",
"num_workers": 2
}
],
"...": "..."
}
}
}
}