Aracılığıyla paylaş


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ı targetsiç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ı targetsiç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_versionve num_workers hem üst düzey resources eşlemesinde hem de resourcesiçindeki targets eşlemesinde tanımlanır. Bu örnekte, spark_versionnum_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 resourcesiç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
          }
        ],
        "...": "..."
      }
    }
  }
}