共用方式為


將任務新增至 Databricks Asset Bundles 中的作業

本頁提供如何在 Databricks 資產套件組合中定義作業工作的相關資訊。 如需作業工作的相關資訊,請參閱 在 Lakeflow 作業中設定和編輯工作

這很重要

不建議將任務 git_source 欄位和任務 source 欄位設為 GIT,因為本機相對路徑可能不會指向 Git 儲存庫中的相同內容。 套件組合預期已部署作業的檔案與部署所在位置的本機複本相同。

請改為在本機複製存放庫,並在此存放庫中設定您的套件組合專案,讓工作的來源是工作區。

設定任務

在工作定義的索引鍵中 tasks 定義服務包中工作的任務。 可用工作類型的工作設定範例位於 [工作設定] 區段中。 如需在軟體組中定義工作的相關資訊,請參閱 工作

提示

若要使用 Databricks CLI快速產生現有作業的資源組態,您可以使用 bundle generate job 命令。 請參閱套件組合命令

若要設定任務值,大部分的工作任務類型都有任務特定的參數,但您也可以定義傳遞給任務的工作 參數 。 工作參數支援動態值參照,可讓您在作業之間傳遞工作執行特有的值。 如需如何依任務類型傳遞任務值的完整資訊,請參閱 依任務類型的詳細資訊

您也可以使用目標工作區的設定來覆寫一般工作任務設定。 請參閱 用目標設定覆蓋

下列範例組態會定義具有兩個筆記本任務的任務,並將任務值從第一個任務傳遞至第二個任務。

resources:
  jobs:
    pass_task_values_job:
      name: pass_task_values_job
      tasks:
        # Output task
        - task_key: output_value
          notebook_task:
            notebook_path: ../src/output_notebook.ipynb

        # Input task
        - task_key: input_value
          depends_on:
            - task_key: output_value
          notebook_task:
            notebook_path: ../src/input_notebook.ipynb
            base_parameters:
              received_message: '{{tasks.output_value.values.message}}'

output_notebook.ipynb 包含以下程式碼,該程式碼可為 message 鍵設定任務值:

# Databricks notebook source
# This first task sets a simple output value.

message = "Hello from the first task"

# Set the message to be used by other tasks
dbutils.jobs.taskValues.set(key="message", value=message)

print(f"Produced message: {message}")

擷取 input_notebook.ipynb 在工作組態中設定的參數 received_message的值:

# This notebook receives the message as a parameter.

dbutils.widgets.text("received_message", "")
received_message = dbutils.widgets.get("received_message")

print(f"Received message: {received_message}")

任務設定

本節包含每個工作任務類型的設定和範例。

無塵室筆記本任務

clean_rooms_notebook_task欄位存在時,無塵室筆記本任務會執行無塵室筆記本。 如需無塵室的相關資訊,請參閱 什麼是 Azure Databricks 無塵室?

下列按鍵可用於 無塵室筆記本工作。 如需對應的 REST API 物件定義,請參閱 clean_rooms_notebook_task

Key 類型 Description
clean_room_name 繩子 必須的。 筆記本所屬的無塵室。
etag 繩子 校驗碼,以驗證筆記本資源的最新狀態。 可以透過呼叫 無塵室資產取用操作來取得它。
object Map 用於潔淨室筆記本任務的基本參數。
notebook_name 繩子 必須的。 正在執行的筆記本名稱。

條件任務

condition_task 可讓您將具有 if/else 條件式邏輯的工作新增至作業。 這項任務評估一種可用來控制其他任務執行的條件。 條件工作不需要叢集執行,而且不支援重試或通知。 如需有關 if/else 條件工作的詳細資訊,請參閱 如何透過 If/else 工作為工作新增分支邏輯

以下按鍵可用於條件任務。 如需對應的 REST API 物件定義,請參閱 condition_task

Key 類型 Description
left 繩子 必須的。 条件的左运算元。 可以是字串值或工作狀態,或動態值參照,例如 {{job.repair_count}}{{tasks.task_key.values.output}}
op 繩子 必須的。 要用於比較的運算符。 有效值為: EQUAL_TONOT_EQUALGREATER_THANGREATER_THAN_OR_EQUALLESS_THANLESS_THAN_OR_EQUAL、 。
right 繩子 必須的。 條件的正確運算元。 可以是字串值、工作狀態或動態值參照。

範例

下列範例包含條件工作和筆記本工作,其中筆記本工作只有在作業修復數目小於 5 時才會執行。

resources:
  jobs:
    my-job:
      name: my-job
      tasks:
        - task_key: condition_task
          condition_task:
            op: LESS_THAN
            left: '{{job.repair_count}}'
            right: '5'
        - task_key: notebook_task
          depends_on:
            - task_key: condition_task
              outcome: 'true'
          notebook_task:
            notebook_path: ../src/notebook.ipynb

面板任務

您可以使用此工作來重新整理儀錶板,並將快照集傳送給訂閱者。 如需套件組合中儀表板的詳細資訊,請參閱 儀表板

下列鍵可用於 儀表板工作。 如需對應的 REST API 物件定義,請參閱 dashboard_task

Key 類型 Description
dashboard_id 繩子 必須的。 要重新整理的儀表板識別碼。 儀表板必須已經存在。
subscription Map 用於傳送儀表板快照的訂閱組態。 每個訂閱物件都可以指定在儀表板重新整理完成後傳送快照的目的地設定。 請參閱 訂閱
warehouse_id 繩子 用於執行排程儀表板的倉庫 ID。 如果未指定,則會使用儀表板的預設倉儲。

範例

下列範例會將儀表板任務新增至作業。 執行作業時,會重新整理具有指定ID的儀表板。

resources:
  jobs:
    my-dashboard-job:
      name: my-dashboard-job
      tasks:
        - task_key: my-dashboard-task
          dashboard_task:
            dashboard_id: 11111111-1111-1111-1111-111111111111

dbt 任務

您可以使用這項工作來執行一或多個 dbt 命令。 如需 dbt 的詳細資訊,請參閱 連線至 dbt Cloud

下列按鍵可用於 dbt 工作。 如需對應的 REST API 物件定義,請參閱 dbt_task

Key 類型 Description
catalog 繩子 要使用的目錄名稱。 只有在指定 a warehouse_id 時,才能指定目錄值。 此欄位需要 dbt-databricks >= 1.1.1。
commands Sequence 必須的。 要依序執行的 dbt 命令清單。 每個命令必須是完整的 dbt 命令(例如,dbt depsdbt seeddbt rundbt test)。 最多可以提供 10 個命令。
profiles_directory 繩子 包含 dbt profiles.yml 檔案的目錄路徑。 只有在未指定 warehouse_id 時才能指定。 如果未指定 no warehouse_id 且未設定此資料夾,則會使用根目錄。
project_directory 繩子 包含 dbt 專案之目錄的路徑。 如果未指定,則預設為儲存庫或工作區目錄的根目錄。 對於儲存在 Databricks 工作區中的專案,路徑必須是絕對的,並以斜線開頭。 對於遠端儲存庫中的專案,路徑必須是相對的。
schema 繩子 要寫入的模式。 只有在同時提供 a warehouse_id 時,才會使用此參數。 如果未提供,則會使用預設結構描述。
source 繩子 dbt 專案的位置類型。 有效值為 WORKSPACEGIT。 設定為 WORKSPACE時,將會從 Databricks 工作區擷取專案。 當設定為 GIT時,將從 中 git_source定義的 Git 儲存庫擷取專案。 如果是空的,則任務會使用GIT如果git_source已定義,否則使用WORKSPACE
warehouse_id 繩子 要用來執行 dbt 命令的 SQL 倉儲識別碼。 如果未指定,將使用預設倉庫。

範例

下列範例會將 dbt 任務新增至一個任務中。 此 dbt 工作會使用指定的 SQL 倉儲來執行指定的 dbt 命令。

若要取得 SQL 倉儲的識別碼,請開啟 SQL 倉儲的設定頁面,然後在 [概觀] 標籤的 名稱 欄位中,複製倉儲名稱後括弧中找到的識別碼。

提示

Databricks 資源包中還包含dbt-sql專案範本,用於定義包含 dbt 任務的工作,以及已部署的 dbt 工作的 dbt 設定檔。 如需 Databricks 資產組合範本的相關信息,請參閱 預設套件組合範本

resources:
  jobs:
    my-dbt-job:
      name: my-dbt-job
      tasks:
        - task_key: my-dbt-task
          dbt_task:
            commands:
              - 'dbt deps'
              - 'dbt seed'
              - 'dbt run'
            project_directory: /Users/someone@example.com/Testing
            warehouse_id: 1a111111a1111aa1
          libraries:
            - pypi:
                package: 'dbt-databricks>=1.0.0,<2.0.0'

對每個任務

for_each_task 可讓您將具有「for each」迴圈的任務新增至您的作業中。 該任務會針對所提供的每個輸入執行一個嵌套任務。 如需 for_each_task的詳細資訊,請參閱 如何使用 For each 工作在循環中反覆執行另一個工作

下列按鍵可用於 for_each_task。 如需對應的 REST API 物件定義,請參閱 for_each_task

Key 類型 Description
concurrency 整數 可同時執行的工作反覆專案數目上限。 如果未指定,則所有疊代都可以平行執行,但須遵守叢集和工作區限制。
inputs 繩子 必須的。 迴圈的輸入數據。 這可以是 JSON 字串或陣列參數的參考。 陣列中的每個元素都會傳遞至巢狀任務的一次迭代。
task Map 必須的。 要針對每個輸入執行的巢狀任務定義。 此物件包含完整的任務規格,包括 task_key 和任務類型(例如、 notebook_taskpython_wheel_task等)。

範例

下列範例會將 for_each_task 涵蓋到一個作業中,然後對另一個任務的值進行迴圈處理。

resources:
  jobs:
    my_job:
      name: my_job
      tasks:
        - task_key: generate_countries_list
          notebook_task:
            notebook_path: ../src/generate_countries_list.ipnyb
        - task_key: process_countries
          depends_on:
            - task_key: generate_countries_list
          for_each_task:
            inputs: '{{tasks.generate_countries_list.values.countries}}'
            task:
              task_key: process_countries_iteration
              notebook_task:
                notebook_path: ../src/process_countries_notebook.ipnyb

JAR 任務

您可以使用此工作來執行 JAR。 您可以參考本機 JAR 程式庫或工作區中的程式庫、Unity Catalog 磁碟區中的程式庫或外部雲端儲存位置中的程式庫。 請參閱 JAR 檔案 (Java 或 Scala)。

如需如何在標準存取模式中在已啟用 Unity 目錄的叢集上編譯和部署 Scala JAR 檔案的詳細資訊,請參閱 教學課程:在無伺服器計算上執行 Scala 程式碼

下列索引鍵可用於 JAR 作業。 如需對應的 REST API 物件定義,請參閱 jar_task

Key 類型 Description
jar_uri 繩子 Deprecated. 要執行的 JAR URI。 支援 DBFS 和雲端儲存路徑。 此欄位已被取代,不應使用。 請改用欄位 libraries 來指定 JAR 相依關係。
main_class_name 繩子 必須的。 包含要執行的 main 方法之類別的完整名稱。 這個類別必須包含在提供做為程式庫的 JAR 中。 程式碼必須用 SparkContext.getOrCreate 來取得 Spark 內容;否則,作業的執行會失敗。
parameters Sequence 傳遞至 main 方法的參數。 使用工作參數變數來設定包含工作執行相關資訊的參數。

範例

下列範例會將 JAR 工作新增到任務中。 JAR 檔案的路徑指向一個磁碟卷位置。

resources:
  jobs:
    my-jar-job:
      name: my-jar-job
      tasks:
        - task_key: my-jar-task
          spark_jar_task:
            main_class_name: org.example.com.Main
          libraries:
            - jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar

筆記本任務

您使用此任務來執行筆記本。 請參閱工作相關的筆記本任務

下列按鍵可用於筆記型電腦任務。 如需對應的 REST API 物件定義,請參閱 notebook_task

Key 類型 Description
base_parameters Map 要用於此作業每次執行的基本參數。
  • 如果執行是由呼叫作業或使用指定參數立即執行來啟動,則會合併兩個參數對映。
  • 如果在base_parametersrun-now中指定了相同的索引鍵,則會使用run-now中的值。 使用工作參數變數來設定包含工作執行相關資訊的參數。
  • 如果筆記本採用的參數未在工作中的base_parameters參數或run-now覆寫參數中指定,則會使用筆記本中的預設值。 使用 dbutils.widgets.get在筆記本中擷取這些參數。
notebook_path 繩子 必須的。 Databricks 工作區或遠端存放庫中筆記本的路徑,例如 /Users/user.name@databricks.com/notebook_to_run。 對於儲存在 Databricks 工作區中的筆記本,路徑必須是絕對的,並以斜線開頭。 對於儲存在遠端儲存庫中的筆記本,路徑必須是相對的。
source 繩子 筆記本的位置類型。 有效值為 WORKSPACEGIT。 設定為 WORKSPACE時,將會從本機 Databricks 工作區擷取筆記本。 當設定為 GIT時,將從 中 git_source定義的 Git 儲存庫擷取筆記本。 如果值為空,則會使用 GIT,在git_source已定義的情況下;否則使用WORKSPACE
warehouse_id 繩子 要執行筆記本的倉庫識別碼。 不支援傳統 SQL 倉儲。 請改用無伺服器或專業版 SQL 倉儲。 請注意,SQL 倉儲僅支援 SQL 儲存格。 如果筆記本包含非 SQL 儲存格,執行將會失敗,因此如果您需要在儲存格中使用 Python (或其他),請使用無伺服器。

範例

下列範例會將筆記本工作新增至工作,並設定名為 my_job_run_id 的工作參數。 要部署的筆記本的路徑是相對於宣告該任務的設定檔而定的。 該任務從其在 Azure Databricks 工作區中部署的位置取得筆記本。

resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      tasks:
        - task_key: my-notebook-task
          notebook_task:
            notebook_path: ./my-notebook.ipynb
      parameters:
        - name: my_job_run_id
          default: '{{job.run_id}}'

管線工作

您可以使用此任務來運行管線。 請參閱 Lakeflow Spark 宣告式管線

下列鍵可用於 管線工作。 如需對應的 REST API 物件定義,請參閱 pipeline_task

Key 類型 Description
full_refresh 布林值 如果為true,則會觸發管線的完整重新整理,這會完全重新計算管線中的所有資料集。 如果為 false 或省略,則只會處理增量資料。 如需詳細資訊,請參閱 管線重新整理語意
pipeline_id 繩子 必須的。 要執行的管線識別碼。 管線必須已經存在。

範例

下列範例會將管線工作新增至作業。 此任務會執行指定的管線。

提示

您可以在工作區中開啟管線,然後前往管線設定頁面中的 管線詳細資訊 索引標籤,複製 管線 ID 值以取得管線的 ID。

resources:
  jobs:
    my-pipeline-job:
      name: my-pipeline-job
      tasks:
        - task_key: my-pipeline-task
          pipeline_task:
            pipeline_id: 11111111-1111-1111-1111-111111111111

Power BI 工作

這很重要

Power BI 工作類型處於 公開預覽狀態

使用此工作來觸發 Power BI 語意模型 (先前稱為資料集) 的重新整理。

下列索引鍵可用於 Power BI 工作。 如需對應的 REST API 物件定義,請參閱 power_bi_task

Key 類型 Description
connection_resource_name 繩子 必須的。 Unity 目錄連線的名稱,以從 Databricks 驗證至 Power BI。
power_bi_model 繩子 必須的。 要更新的 Power BI 語意模型 (資料集) 名稱。
refresh_after_update 布林值 是否要在更新完成後重新整理 Power BI 語意模型。 預設為 False。
tables Sequence 要匯出至 Power BI 的資料表清單 (每個資料表都是地圖)。 請參閱 表格
warehouse_id 繩子 要用作 Power BI 資料來源的 SQL 倉儲識別碼。

範例

下列範例會定義 Power BI 工作,其中會指定連線、要更新的 Power BI 模型,以及要匯出的 Databricks 資料表。

resources:
  jobs:
    my_job:
      name: my_job
      tasks:
        - task_key: power_bi_task
          power_bi_task:
            connection_resource_name: 'connection_name'
            power_bi_model:
              workspace_name: 'workspace_name'
              model_name: 'model_name'
              storage_mode: 'DIRECT_QUERY'
              authentication_method: 'OAUTH'
              overwrite_existing: false
            refresh_after_update: false
            tables:
              - catalog: 'main'
                schema: 'tpch'
                name: 'customers'
                storage_mode: 'DIRECT_QUERY'
            warehouse_id: '1a111111a1111aa1'

Python 指令碼任務

您可以使用這項工作來執行 Python 檔案。

下列索引鍵可用於 Python 指令碼工作。 如需對應的 REST API 物件定義,請參閱 python_task

Key 類型 Description
parameters Sequence 要傳遞至 Python 檔案的參數。 使用工作參數變數來設定包含工作執行相關資訊的參數。
python_file 繩子 必須的。 要執行的 Python 檔案的 URI,例如 /Users/someone@example.com/my-script.py. 針對儲存在 Databricks 工作區中的 Python 檔案,路徑必須是絕對的,且以 / 開頭。 對於儲存在遠端儲存庫中的檔案,路徑必須是相對路徑。 此欄位不支援動態值參照,例如變數。
source 繩子 Python 檔案的位置類型。 有效值為 WORKSPACEGIT。 設定為 WORKSPACE時,將會從本機 Databricks 工作區擷取檔案。 當設定為 GIT時,將從 中 git_source定義的 Git 儲存庫擷取檔案。 如果值為空,則會使用 GIT,在git_source已定義的情況下;否則使用WORKSPACE

範例

下列範例會將 Python 指令碼工作新增至工作。 要部署的 Python 檔案路徑相對於宣告此工作的設定檔。 這項任務會從其在 Azure Databricks 工作區中部署的位置提取 Python 檔案。

resources:
  jobs:
    my-python-script-job:
      name: my-python-script-job

      tasks:
        - task_key: my-python-script-task
          spark_python_task:
            python_file: ./my-script.py

Python Wheel 任務

您可以使用此工作來執行 Python 輪。 請參閱 使用 Databricks 資產套件組合建置 Python 轉輪檔案

下列鍵可用於 Python 輪子任務。 如需對應的 REST API 物件定義,請參閱 python_wheel_task

Key 類型 Description
entry_point 繩子 必須的。 要執行的具名進入點:函數或類別。 如果它不存在於套件的元資料中,則會直接使用 $packageName.$entryPoint()套件執行函式。
named_parameters Map 要傳遞給 Python 滾輪任務的具名參數,也稱為 關鍵字引數。 具名參數是具有字串鍵和字串值的鍵值對。 不能同時指定 parametersnamed_parameters。 如果指定,則 named_parameters 會以 parameters 關鍵字引數的形式傳遞至進入點函式。
package_name 繩子 必須的。 要執行的 Python 套件名稱。 所有相依性都必須安裝在環境中。 這不會檢查或安裝任何套件相依性。
parameters Sequence 要傳遞給 Python 滾輪工作的參數,也稱為 位置引數。 每個參數都是一個字串。 如果指定, named_parameters 則不得指定。

範例

下列範例將 Python wheel 任務新增至作業。 要部署的 Python Wheel 檔案的路徑是相對於宣告此任務的設定檔而定的。 請參閱 Databricks Asset Bundles 程式庫相依性

resources:
  jobs:
    my-python-wheel-job:
      name: my-python-wheel-job
      tasks:
        - task_key: my-python-wheel-task
          python_wheel_task:
            entry_point: run
            package_name: my_package
          libraries:
            - whl: ./my_package/dist/my_package-*.whl

執行作業任務

您可以使用此工作來執行另一個工作。

下列鍵可用於執行工作任務。 如需對應的 REST API 物件定義,請參閱 run_job_task

Key 類型 Description
job_id 整數 必須的。 要執行之作業的識別碼。 工作區中必須已存在該工作。
job_parameters Map 要傳遞至正在執行的工作的工作層次參數。 這些參數可在工作任務中存取。
pipeline_params Map 管線工作的參數。 只有在執行中的工作包含管線工作時才會使用。 可以包含 full_refresh 以觸發管線的完整刷新。

範例

下列範例包含一個在第二個作業中執行用以執行第一個作業的任務。

這個範例會使用替代來擷取要執行的工作 ID。 若要從 UI 取得作業的識別碼,請開啟工作區中的作業,並從作業設定頁面的 [ 作業 詳細數據] 索引標籤標的 [ 作業標識元 ] 值複製識別碼。

resources:
  jobs:
    my-first-job:
      name: my-first-job
      tasks:
        - task_key: my-first-job-task
          new_cluster:
            spark_version: '13.3.x-scala2.12'
            node_type_id: 'i3.xlarge'
            num_workers: 2
          notebook_task:
            notebook_path: ./src/test.py
    my_second_job:
      name: my-second-job
      tasks:
        - task_key: my-second-job-task
          run_job_task:
            job_id: ${resources.jobs.my-first-job.id}

SQL 作業

您可以使用此工作來執行 SQL 檔案、查詢或警示。

下列索引鍵可用於 SQL 工作。 如需對應的 REST API 物件定義,請參閱 sql_task

Key 類型 Description
alert Map 執行 SQL 警示的設定。 包含:
  • alert_id(字串):必需的。 要執行之 SQL 警示的標準識別碼。
  • pause_subscriptions (布林值):是否要暫停警示訂閱。
  • subscriptions (順序):訂閱設定清單。
dashboard Map 重新整理 SQL 儀表板的設定。 包含:
  • dashboard_id(字串):必需的。 要重新整理的 SQL 儀表板的標準識別碼。
  • custom_subject (字串):傳送給儀表板訂閱者的電子郵件的自訂主旨。
  • pause_subscriptions (布林值):是否要暫停儀表板訂閱。
  • subscriptions (順序):訂閱設定清單。
file Map 執行 SQL 檔案的設定。 包含:
  • path(字串):必需的。 工作區或遠端儲存庫中 SQL 檔案的路徑。 對於儲存在 Databricks 工作區中的檔案,路徑必須是絕對的,而且以斜線開頭。 對於儲存在遠端儲存庫中的檔案,路徑必須是相對路徑。
  • source (字串):SQL 檔案的位置類型。 有效值為 WORKSPACEGIT
parameters Map 要用於每次執行此任務的參數。 SQL 查詢和檔案可以透過使用語法 {{parameter_key}}來參考這些參數。 使用工作參數變數來設定包含工作執行相關資訊的參數。
query Map 執行 SQL 查詢的組態。 包含:
  • query_id(字串):必需的。 要執行之 SQL 查詢的標準識別碼。
warehouse_id 繩子 必須的。 用來執行 SQL 工作的 SQL 倉儲識別碼。 SQL 倉儲必須已經存在。

範例

提示

若要取得 SQL 倉儲的識別碼,請開啟 SQL 倉儲的設定頁面,然後在 [概觀] 標籤的 名稱 欄位中,複製倉儲名稱後括弧中找到的識別碼。

下列範例會將 SQL 檔案工作新增至工作。 此 SQL 檔案工作會使用指定的 SQL 倉儲來執行指定的 SQL 檔案。

resources:
  jobs:
    my-sql-file-job:
      name: my-sql-file-job
      tasks:
        - task_key: my-sql-file-task
          sql_task:
            file:
              path: /Users/someone@example.com/hello-world.sql
              source: WORKSPACE
            warehouse_id: 1a111111a1111aa1

下列範例會將 SQL 警示工作新增至工作。 此 SQL 警示工作會使用指定的 SQL 倉儲來重新整理指定的 SQL 警示。

resources:
  jobs:
    my-sql-file-job:
      name: my-sql-alert-job
      tasks:
        - task_key: my-sql-alert-task
          sql_task:
            warehouse_id: 1a111111a1111aa1
            alert:
              alert_id: 11111111-1111-1111-1111-111111111111

下列範例會將 SQL 查詢工作新增至工作。 此 SQL 查詢工作會使用指定的 SQL 倉儲來執行指定的 SQL 查詢。

resources:
  jobs:
    my-sql-query-job:
      name: my-sql-query-job
      tasks:
        - task_key: my-sql-query-task
          sql_task:
            warehouse_id: 1a111111a1111aa1
            query:
              query_id: 11111111-1111-1111-1111-111111111111

其他任務設定

下列工作設定可讓您設定所有工作的行為。 如需對應的 REST API 物件定義,請參閱 作業

Key 類型 Description
depends_on Sequence 任務相依性的可選清單。 每項包含:
  • task_key(字串):必需的。 此任務所依賴的任務的索引鍵。
  • outcome (字串):只能指定給condition_task。 如果指定,則僅當條件評估為指定的結果(truefalse)時,相依工作才會執行。
description 繩子 任務的可選描述。
disable_auto_optimization 布林值 是否停用此工作的自動最佳化。 如果為true,則會停用調適性查詢執行等自動最佳化。
email_notifications Map 一組選擇性的電子郵件地址,用於在執行開始、完成或失敗時發出通知。 每項包含:
  • on_start (序列):執行開始時要通知的電子郵件地址清單。
  • on_success (序列):執行成功完成時要通知的電子郵件地址清單。
  • on_failure (序列):執行失敗時要通知的電子郵件地址清單。
  • on_duration_warning_threshold_exceeded (序列):執行持續時間超過臨界值時要通知的電子郵件地址清單。
  • on_streaming_backlog_suceeded (序列):當任何串流的積壓閾值超過時,要通知的電子郵件地址清單。
environment_key 繩子 工作組態中定義的 environments 環境金鑰。 用於指定環境特定的設定。 使用無伺服器運算時,Python 指令碼、Python 輪盤和 dbt 工作需要此欄位。
existing_cluster_id 繩子 將用於所有此任務執行的現有叢集識別碼。
health Map 此工作性能監控的選用規格,包括一個 rules 金鑰,這是要評估的性能規則清單。
job_cluster_key 繩子 作業組態中定義的作業叢集job_clusters金鑰。
libraries Sequence 要安裝在叢集上執行工作的程式庫的選用清單。 每一個程式庫都被指定為具有像jareggwhlpypimavencranrequirements這樣的索引鍵的對應項。
max_retries 整數 可選擇設定的失敗時重試任務的最大次數上限。 如果未特別指定,則不會重新嘗試該任務。
min_retry_interval_millis 整數 失敗執行開始與後續重試執行之間的選用最小間隔 (以毫秒為單位)。 如果未指定,預設值為 0 (立即重試)。
new_cluster Map 為了每次執行此作業,將會制定一個新的叢集規格。 請參閱 叢集
notification_settings Map 此工作的選用通知設定。 每項包含:
  • no_alert_for_skipped_runs (布林值):如果為 true,則不要傳送略過執行的通知。
  • no_alert_for_canceled_runs (布林值):如果為true,則不要傳送已取消執行的通知。
  • alert_on_last_attempt (布林值):如果為true,則僅在上次重試嘗試時傳送通知。
retry_on_timeout 布林值 選擇性策略,用於指定在任務逾時時是否重試任務。如果未指定,則預設為 false。
run_if 繩子 選擇性值,指出工作應執行的條件。 有效值為:
  • ALL_SUCCESS (預設):如果所有相依性都成功,則執行。
  • AT_LEAST_ONE_SUCCESS:如果至少有一個相依性成功,則執行。
  • NONE_FAILED: 如果沒有相依性失敗,則執行。
  • ALL_DONE:在所有相依性完成後執行,無論結果為何。
  • AT_LEAST_ONE_FAILED:如果至少有一個相依性失敗,則執行。
  • ALL_FAILED:如果所有相依性都失敗,則執行。
task_key 繩子 必須的。 工作的唯一名稱。 此欄位用於從使用該 depends_on 欄位的其他任務中參照此任務。
timeout_seconds 整數 選擇性逾時將應用於此任務的每次執行。 值 0 表示沒有逾時。 如果未設定,則會使用叢集組態的預設逾時。
webhook_notifications Map 一組選用的系統目的地,用於在執行開始、完成或失敗時發出通知。 每項包含:
  • on_start (序列):執行開始時的通知目的地清單。
  • on_success (序列):執行完成時的通知目的地清單。
  • on_failure (序列):執行失敗時的通知目的地清單。
  • on_duration_warning_threshold_exceeded (序列):執行持續時間超過臨界值時的通知目的地清單。
  • on_streaming_backlog_suceeded (序列):當任何串流的積壓閾值超過時,要通知的電子郵件地址清單。