本文提供搭配作業和工作使用參數的概觀,著重於UI中作業和工作的組態細節。 您也必須更新您設定為工作以參考參數的原始碼資產。 參數參考會因語言和工作類型而有所不同。 請參閱任務 中的參數值存取。
以下是瞭解作業參數的基本概念:
- 工作參數:在工作層級定義的索引鍵/值組,並向下推送至任務。 請參閱 設定工作參數。
- 任務參數:在任務層級定義的索引鍵/值組或 JSON 陣列。 請參閱 設定工作參數。
- 動態值參考:設定工作時參考作業條件、元數據和參數的語法。 請參閱什麼是動態值參考?。
- 工作值:擷取和參考工作執行期間所產生的值語法。 請參閱 使用任務值在任務之間傳遞資訊。
您可以使用參數做什麼?
將參數新增至作業和工作的進階使用案例,包括以下內容:
- 將可延伸的邏輯新增至程式碼資產。
- 條件化運行。
- 參考跨多個任務的共同參數。
- 將一個任務中產生的資訊用於另一個任務。
- 參考工作任務執行中的中繼資料和狀態資訊。
作業和工作參數之間的差異為何?
作業參數是在作業層級定義的鍵值對。 您可以在以不同參數立即執行或使用 REST API 觸發作業執行時,覆寫作業參數的預設設定。 任務參數會向下推送至使用鍵值參數的工作。 其他工作可以使用動態值參考來參考作業參數。
工作參數是工作層級所定義的 JSON 陣列索引鍵/值組。 每個工作類型都會以不同的方式將工作值傳遞至已設定的程式代碼資產。 例如,筆記本工作會使用 dbutils.widgets 子模組,而 Python 腳本會將值當做自變數傳遞至腳本,就像從命令行呼叫一樣。 下游任務可以使用動態值參考,從上游任務中引用任務參數。 請參閱任務 中的參數值存取。
備註
某些工作沒有專用 參數 欄位,但允許參考其他欄位中的工作值或動態值參考。 請參閱參數化 dbt 命令的範例和將分支邏輯新增至具有 If/else 任務的工作。
使用動態值建置工作流程
使用靜態值設定的工作參數只能藉由更新工作定義來覆蓋。 設定作業參數的靜態值只是在設定預設值,您可以在立即使用不同的參數執行時進行更改,或使用 REST API 觸發作業運行。
定義工作參數以實作下列模式時,請使用動態值參考:
- 使用工作參數作為一個任務的
output_table和另一個任務的input_table。 - 擷取筆記本查詢的輸出作為清單,並對每個 工作進行
迴圈。 - 根據使用 If/else 條件任務處理的記錄數目,建立派生邏輯。
- 請參閱其他任務的參數。
請參閱什麼是動態值參考?。