在管線中使用資料流程

在建立多重資料流的複雜管線時,邏輯流程會對時間安排和成本產生重大影響。 本節涵蓋不同架構策略的影響。

平行執行資料流

如果你同時執行多個資料流,服務會為每個活動分別啟動獨立的 Spark 叢集。 這讓每個工作都能被隔離並平行執行,但會導致多個叢集同時運行。

如果您的資料流程平行執行,我們建議您不要啟用 Azure IR 存留時間屬性,因為這會導致多個未使用的暖集區。

小提示

與其在每個活動中重複執行同一條資料流,不如將資料分段放在資料湖中,並使用通配符路徑在單一資料流中處理。

依序執行資料流

如果你依序執行資料流活動,建議在 Azure IR 設定中設定 TTL。 該服務會重複使用運算資源,導致叢集啟動速度加快。 每個活動仍然是隔離的,並且每次執行都會接收新的 Spark 上下文。

單一資料流會被超載

如果你把所有邏輯放在單一資料流裡,服務會在單一 Spark 實例上執行整個工作。 雖然這看似降低成本的方法,但它混合了不同的邏輯流程,且監控與除錯可能較為困難。 如果一個元件失效,工作的其他部分也會失效。 建議依獨立的商業邏輯流程組織資料流。 如果資料流變得過大,將它拆分成獨立元件會讓監控和除錯變得更容易。 雖然資料流中轉換的次數沒有硬性限制,但轉換太多會讓工作變得複雜。

平行執行接收

資料流程接收的預設行為,是依序逐一執行每個接收,並在接收發生錯誤時讓資料流程失敗。 此外,除非你進入資料流程屬性並為匯項設定不同的優先順序,否則所有匯項預設都是同一組。

資料流程可讓您從 UI 設計工具中的資料流程屬性索引標籤,將接收分組。 您可以設定匯流的執行順序,並使用相同的群組編號將這些匯流組合在一起。 為協助管理群組,您可以要求服務將同一群組中的接收平行執行。

在管線中,資料流程活動的 Sink Properties 區段下,有一個可啟用平行接收載入的選項。 當你啟用「平行執行」時,你是在指示資料流同時寫入連接的匯入器,而不是依序寫入。 若要使用平行選項,接收必須分組,並透過 New Branch 或條件式分割連線到相同資料流。

在管道中訪問 Azure Synapse 資料庫範本

你可以在建立管線時使用 Azure Synapse 資料庫範本 。 建立新資料流時,在來源或匯設定中選擇 Workspace DB。 資料庫下拉選單會列出透過資料庫範本建立的資料庫。 Workspace DB 選項只適用於新的資料流,使用 Synapse 工作室圖庫中現有的管線時則無法使用。

請參閱其他與效能相關的資料流程文章: