تجاوز إعدادات مهام الوظيفة في حزم أصول Databricks
توضح هذه المقالة كيفية تجاوز إعدادات مهام مهمة Azure Databricks في حزم أصول Databricks. راجع ما هي حزم أصول Databricks؟
في ملفات تكوين حزمة Azure Databricks، يمكنك استخدام task
التعيين داخل تعريف الوظيفة للانضمام إلى إعدادات مهام الوظيفة في تعيين المستوى resources
الأعلى مع إعدادات مهمة الوظيفة في targets
التعيين، على سبيل المثال (تشير علامات الحذف إلى محتوى محذف، للإيجاز):
# ...
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.
# ...
للانضمام إلى تعيين المستوى resources
الأعلى وتعيين targets
لنفس task
، task
يجب تعيين التعيينات task_key
إلى نفس القيمة.
إذا تم تعريف أي إعداد مهمة مهمة في كل من تعيين المستوى resources
الأعلى وتعيين targets
لنفس task
، فإن الإعداد في targets
التعيين له الأسبقية على الإعداد في تعيين المستوى resources
الأعلى.
مثال 1: إعدادات مهمة الوظيفة المعرفة في تعيينات موارد متعددة وبدون تعارضات في الإعدادات
في هذا المثال، spark_version
في تعيين المستوى resources
الأعلى يتم دمجه مع node_type_id
و num_workers
في resources
التعيين لتحديد targets
إعدادات task_key
المسماة my-task
(تشير علامات الحذف إلى محتوى محذف، للإيجاز):
# ...
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
# ...
عند تشغيل databricks bundle validate
هذا المثال، يكون الرسم البياني الناتج كما يلي (تشير علامات الحذف إلى محتوى محذف، للإيجاز):
{
"...": "...",
"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"
}
],
"...": "..."
}
}
}
}
مثال 2: إعدادات مهمة مهمة متعارضة محددة في تعيينات موارد متعددة
في هذا المثال، spark_version
يتم تعريف و num_workers
في كل من تعيين المستوى resources
الأعلى وفي resources
التعيين في targets
. spark_version
وفي num_workers
resources
التعيين في targets
لها الأسبقية على spark_version
و num_workers
في تعيين المستوى resources
الأعلى. يحدد هذا إعدادات المسماة task_key
my-task
(تشير علامات الحذف إلى محتوى محذف، للإيجاز):
# ...
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
# ...
عند تشغيل databricks bundle validate
هذا المثال، يكون الرسم البياني الناتج كما يلي (تشير علامات الحذف إلى محتوى محذف، للإيجاز):
{
"...": "...",
"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"
}
],
"...": "..."
}
}
}
}