Aracılığıyla paylaş


Databricks Varlık Paketlerinde iş görevleri ayarlarını geçersiz kılma

Bu makalede Databricks Varlık Paketleri'nde Azure Databricks iş görevlerinin 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, eşlemeyi task bir iş tanımı içinde kullanarak, bir eşlemedeki iş görevi ayarlarıyla en üst düzey resources eşlemedeki targets iş görevleri ayarlarını birleştirebilirsiniz(üç nokta, kısa bir süre için atlanmış içeriği gösterir):

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

En üst düzey resources eşlemeye ve targets aynı tasktask eşlemeye katılmak için eşlemelerin task_key aynı değere ayarlanması gerekir.

Herhangi bir iş görevi ayarı hem üst düzey resources eşlemede hem targets de aynı taskiçin eşlemede tanımlanmışsa, 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 iş görevi 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-task ayarların task_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
      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
          # ...

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": {
        "tasks": [
          {
            "new_cluster": {
              "node_type_id": "Standard_DS3_v2",
              "num_workers": 1,
              "spark_version": "13.3.x-scala2.12"
            },
            "task-key": "my-task"
          }
        ],
        "...": "..."
      }
    }
  }
}

Örnek 2: Birden çok kaynak eşlemesinde tanımlanan çakışan iş görev ayarları

Bu örnekte spark_version, ve num_workers hem üst düzey resources eşlemede hem de içindeki eşlemede resourcestargetstanımlanır. spark_versionve num_workers içindeki resources eşlemede, en üst düzey resources eşlemenin targets üzerinde spark_version ve num_workers üzerinde önceliklidir. Bu, adlandırılmış my-task için ayarları task_key tanımlar (üç nokta, kısa süre için atlanmış içeriği gösterir):

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

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": {
        "tasks": [
          {
            "new_cluster": {
              "node_type_id": "Standard_DS3_v2",
              "num_workers": 2,
              "spark_version": "12.2.x-scala2.12"
            },
            "task_key": "my-task"
          }
        ],
        "...": "..."
      }
    }
  }
}