資料在管線中透過 流程處理。 每個流程都包含一個 查詢 ,通常也包含一個 目標。 流程會將查詢以成批或逐漸的方式處理,並以資料流的形式輸入到目標中。 水流存在於湖流管線內。
一般而言,當您在更新目標的管線中建立查詢時,會自動定義流程,但您也可以明確定義其他流程以進行更複雜的處理,例如從多個來源附加至單一目標。
更新
每次其定義管道更新時,流程就會啟動。 流程將使用最新的可用資料建立或更新表格。 根據流程類型和資料變更的狀態,更新可能會執行增量重新整理,這只會處理新記錄,或執行完整重新整理,以重新處理資料來源中的所有記錄。
預設流程與附加流程
當你在管道中建立查詢以更新目標時,預設 流程 會自動被定義。 對於串流資料表,預設流程是 附加 流程,每次更新都會新增列,且名稱與目標資料相同。 在單一步驟內建立流程及其目標,是使用管線最常見的方式,你可以用它來匯入或轉換資料。
你也可以將流程與目標分開定義,讓多個流程將資料附加到單一目標上。 當你需要以下操作時,這會很有用:
- 新增串流來源,這些串流來源可以附加到現有的串流資料表,且不需要完全刷新。
- 以缺漏的歷史資料回補串流資料表。
- 結合來自多個來源的資料,而不使用
UNION子句。
關於建立預設與明確流程的範例,請參見 Use flows in Lakeflow pipelines。
流動類型
串流資料表和具現化視圖的預設流程為附加流程。 您也可以建立流程,以從 變更資料擷取 資料來源讀取。 下表說明不同類型的流程。
| 流程類型 | 說明 |
|---|---|
| 附加 |
附加 流程是最常見的流程類型,每次更新時都會將來源中的新記錄寫入目標。 它們對應於結構化串流中的追加模式。 您可以新增 ONCE 旗標,指出批次查詢,除非目標已完全重新整理,否則其資料只能插入目標一次。 任意數目的附加流程都可以寫入特定目標。預設流程(以目標串流資料表或具現化檢視建立)將具有與目標相同的名稱。 其他目標沒有預設流程。 |
| 自動 CDC (原稱 套用變更) |
自動 CDC 流程會擷取包含變更資料擷取 (CDC) 資料的查詢。 自動 CDC 流程只能以串流資料表為目標,而且來源必須是串流來源 (即使是 ONCE 流程)。 多個自動化 CDC 流程運行可以以單一串流資料表為目標。 作為自動 CDC 流程目標的串流資料表只能被其他自動 CDC 流程作為目標。如需 CDC 資料的詳細資訊,請參閱 自動 CDC API:使用管線簡化變更資料擷取。 |
| 更新(公開預覽) |
更新流程會將全域、非以浮水印為基礎的串流彙總輸出至接收端,且僅發出每個批次中已變更的記錄。 更新流程僅適用於 Python。 請看 update_flow。 |
其他資源
如需流程及其使用的詳細資訊,請參閱下列主題: