تجاوز إعدادات نظام المجموعة في حزم أصول Databricks

توضح هذه المقالة كيفية تجاوز إعدادات مجموعات Azure Databricks في حزم أصول Databricks. راجع ما هي حزم أصول Databricks؟

في ملفات تكوين حزمة Azure Databricks، يمكنك الانضمام إلى إعدادات نظام المجموعة في تعيين المستوى resources الأعلى مع إعدادات نظام المجموعة في تعيينtargets، كما يلي.

بالنسبة للوظائف، استخدم job_cluster_key التعيين داخل تعريف الوظيفة للانضمام إلى إعدادات نظام المجموعة في تعيين المستوى resources الأعلى مع إعدادات نظام المجموعة في targets تعيين، على سبيل المثال (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

إذا تم تعريف أي إعداد نظام مجموعة في كل من تعيين المستوى resources الأعلى وتعيين targets لنفس job_cluster_key، فإن الإعداد في targets التعيين له الأسبقية على الإعداد في تعيين المستوى resources الأعلى.

بالنسبة إلى خطوط أنابيب Delta Live Tables، استخدم label التعيين داخل cluster تعريف البنية الأساسية لبرنامج ربط العمليات التجارية للانضمام إلى إعدادات نظام المجموعة في تعيين المستوى resources الأعلى مع إعدادات نظام المجموعة في targets تعيين، على سبيل المثال (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

إذا تم تعريف أي إعداد نظام مجموعة في كل من تعيين المستوى resources الأعلى وتعيين targets لنفس label، فإن الإعداد في targets التعيين له الأسبقية على الإعداد في تعيين المستوى resources الأعلى.

مثال 1: إعدادات نظام مجموعة الوظائف الجديدة المعرفة في تعيينات موارد متعددة وبدون تعارضات في الإعدادات

في هذا المثال، spark_version في تعيين المستوى resources الأعلى يتم دمجه مع node_type_id و num_workers في resources التعيين لتحديد targets إعدادات job_cluster_key المسماة my-cluster (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

عند تشغيل databricks bundle validate هذا المثال، يكون الرسم البياني الناتج كما يلي (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

{
  "...": "...",
  "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"
            }
          }
        ],
        "...": "..."
      }
    }
  }
}

مثال 2: إعدادات نظام مجموعة مهام جديدة متعارضة محددة في تعيينات موارد متعددة

في هذا المثال، spark_versionيتم تعريف و num_workers في كل من تعيين المستوى resources الأعلى وفي resources التعيين في targets. في هذا المثال، spark_version وفي num_workersresources التعيين في targets له الأسبقية على spark_version وفي num_workers تعيين المستوى resources الأعلى، لتحديد إعدادات job_cluster_key المسماة my-cluster (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

عند تشغيل databricks bundle validate هذا المثال، يكون الرسم البياني الناتج كما يلي (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

{
  "...": "...",
  "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"
            }
          }
        ],
        "...": "..."
      }
    }
  }
}

مثال 3: إعدادات نظام مجموعة البنية الأساسية لبرنامج ربط العمليات التجارية المعرفة في تعيينات موارد متعددة وبدون تعارضات في الإعدادات

في هذا المثال، node_type_id في تعيين المستوى resources الأعلى يتم دمجه مع num_workers في resources التعيين في targets لتعريف إعدادات label المسماة default (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

عند تشغيل databricks bundle validate هذا المثال، يكون الرسم البياني الناتج كما يلي (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

مثال 4: إعدادات نظام مجموعة البنية الأساسية لبرنامج ربط العمليات التجارية المتعارضة المحددة في تعيينات موارد متعددة

في هذا المثال، num_workers يتم تعريف كل من في تعيين المستوى resources الأعلى وفي resources التعيين في targets. num_workersresources في التعيين في targets الأسبقية num_workers في تعيين المستوى resources الأعلى، لتعريف إعدادات label المسماة default (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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

عند تشغيل databricks bundle validate هذا المثال، يكون الرسم البياني الناتج كما يلي (تشير علامات الحذف إلى محتوى محذف، للإيجاز):

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