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, bir eşlemedeki küme ayarlarıyla en üst düzey resources eşlemede targets küme ayarlarını aşağıdaki gibi birleştirebilirsiniz.

İşler için, bir eşlemedeki küme ayarlarıyla targets en üst düzey resources eşlemede küme ayarlarını birleştirmek için iş tanımı içindeki eşlemeyi kullanınjob_cluster_key( örneğin, üç nokta atlanmış içeriği gösterir, kısa süre için):

# ...
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.
          # ...

Herhangi bir küme ayarı hem üst düzey resources eşlemede hem targets de aynı job_cluster_keyiçin eşlemede tanımlanırsa, eşlemedeki targets ayar üst düzey resources eşlemedeki ayardan önceliklidir.

Delta Live Tables işlem hatlarında, bir eşlemedeki küme ayarlarıyla targets en üst düzey resources eşlemede küme ayarlarını birleştirmek için işlem hattı tanımı içindeki cluster eşlemeyi kullanın label (üç nokta, kısa bir süre için atlanmış içeriği gösterir):

# ...
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.
          # ...

Herhangi bir küme ayarı hem üst düzey resources eşlemede hem targets de aynı labeliçin eşlemede tanımlanırsa, eşlemedeki targets ayar üst düzey resources eşlemedeki 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, spark_version en üst düzey resources eşleme ile ve num_workersnode_type_id içindeki eşlemede resourcestargets birleştirilerek adlandırılmış my-cluster ayarların job_cluster_key tanımlanması sağlanır (üç 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 çalıştırdığınızda databricks bundle validate , sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta kısalık 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şlemede hem de içindeki eşlemede resourcestargetstanımlanır. Bu örnekte ve num_workers içindeki eşlemede resourcestargets, spark_version adlandırılmış my-cluster için ayarları tanımlamak için job_cluster_key (üç nokta, kısa süre için atlanmış içeriği gösterir) üst düzey resources eşlemeden önceliklidir spark_versionnum_workers:

# ...
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 çalıştırdığınızda databricks bundle validate , sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta kısalık 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 işlem hattı kümesi ayarları

Bu örnekte, node_type_id en üst düzey resources eşleme, adlandırılmış default için ayarları tanımlamak üzere label 'deki eşlemede resourcestargets ile num_workers birleştirilir (üç nokta, kısa süre için atlanan içeriği gösterir):

# ...
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 çalıştırdığınızda databricks bundle validate , sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta kısalık 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 eşlemesinde tanımlanan çakışan işlem hattı kümesi ayarları

Bu örnekte, num_workers hem üst düzey resources eşlemede hem de içindeki eşlemede resourcestargetstanımlanır. num_workersresources içindeki eşlemede targetsnum_workers, adlandırılmış default öğesinin ayarlarını tanımlamak için label en üst düzey resources eşlemede önceliklidir (üç 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

targets:
  development:
    resources:
      pipelines:
        my-pipeline:
          clusters:
            - label: default
              num_workers: 2
          # ...

Bu örnek için çalıştırdığınızda databricks bundle validate , sonuçta elde edilen grafik aşağıdaki gibidir (üç nokta kısalık için atlanmış içeriği gösterir):

{
  "...": "...",
  "resources": {
    "pipelines": {
      "my-pipeline": {
        "clusters": [
          {
            "label": "default",
            "node_type_id": "Standard_DS3_v2",
            "num_workers": 2
          }
        ],
        "...": "..."
      }
    }
  }
}