[英]Multi Step Incremental load and processing using Azure Data Factory
我想實現增量加載/處理,並在處理后使用Azure 數據工廠將它們存儲在不同的地方,例如:
外部數據源(數據是結構化的)-> ADLS(原始)-> ADLS(已處理)-> SQL DB
因此,我需要根據當前日期從源中提取原始數據樣本,將它們存儲在 ADLS 容器中,然后處理相同的樣本數據,將它們存儲在另一個 ADLS 容器中,最后 append 處理結果在SQL 數據庫中。
ADLS 原始:
2022-03-01.txt
2022-03-02.txt
ADLS 處理:
2022-03-01-processed.txt
2022-03-02-processed.txt
SQL 數據庫:
ADLS 處理容器中的所有 txt 文件將被追加並存儲在SQL DB中。
因此想檢查在必須分批運行的單個管道中實現此目的的最佳方法是什么?
您可以使用動態管道實現此目的,如下所示:
在 SQL DB 中創建一個 Config / Metadata.table,您可以在其中放置源表名稱、源名稱等詳細信息。
創建管道如下:
a) 添加一個查找活動,您將在其中創建一個基於您的配置表https://learn.microsoft.com/en-us/azure/data-factory/control-flow-lookup-activity的查詢
b) 添加 ForEach 活動並使用 Lookup output 作為 ForEach 的輸入https://learn.microsoft.com/en-us/azure/data-factory/control-flow-for-each-activity
c) 在 ForEach 中,您可以添加一個 switch 活動,其中每個 Switch case 區分表或源
d) 在每種情況下添加一個 COPY 或您需要在 RAW 層中創建文件的其他活動
e) 在處理層的管道中添加另一個 ForEach,您可以在其中添加與為 RAW 層所做的類似類型的內部活動,並且在此活動中您可以添加處理邏輯
這樣你就可以創建一個單一的管道,也可以創建一個動態的管道,它可以對所有源執行必要的操作
您不能一次重命名多個文件,因此您必須一個接一個地復制文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.