Azure Data Factory 和 Azure Synapse Analytics 中的異動資料擷取
適用於:Azure Data Factory
Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費啟動新的試用版!
本文描述 Azure Data Factory 中的異動資料擷取 (CDC)。
若要深入了解,請參閱 Azure Data Factory 概觀或 Azure Synapse 概觀。
概觀
當您在雲端中執行數據整合和 ETL 程式時,當您只讀取自上次執行管線以來變更的源數據,而不是一律在每次執行時查詢整個數據集時,您的作業可以執行得更好且更有效率。 ADF 提供多種不同方式,讓您輕鬆獲取上次執行後的異動資料。
異動資料擷取處理站資源
開始搭配使用資料處理站與 CDC 的最簡單且最快速的方式,是透過處理站層級異動資料擷取資源。 從主要管線設計工具中,選取 [處理站資源] 下的 [新增 ],以建立新的異動數據擷取。 CDC 處理站資源提供設定逐步解說體驗,您可以在其中選取來源和目的地、套用選擇性轉換,然後選取 [開始] 開始擷取您的數據。 使用 CDC 資源時,您不需要設計管線或資料流活動。 在處理數據時,您也只會支付四個一般用途數據流核心的費用。 您可以設定慣用的延遲,ADF 會使用此延遲來喚醒並尋找已變更的數據。 該初始檢查是您唯一計費的時間。 最上層 CDC 資源也是持續執行程序的 ADF 方法。 ADF 中的管線僅限批次,但 CDC 資源可以持續執行。
對應資料流程中的原生異動資料擷取
ADF 對應數據流可以自動偵測及擷取變更的數據,包括從源資料庫插入、更新和刪除的數據列。 因為使用了資料庫的原生異動資料擷取技術,所以不需要時間戳記或識別碼資料行即可識別變更。 藉由將來源轉換和接收轉換參考鏈結至對應數據流中的資料庫數據集,您可以看到源資料庫發生變更以自動套用至目標資料庫,以便輕鬆地同步處理兩個數據表之間的數據。 您也可以在它們之間新增任何轉換,讓任何商務邏輯處理差異資料。 定義接收器資料目的地時,您可以在接收器設定插入、更新、更新插入和刪除作業,而不需要 Alter Row 轉換,因為 ADF 能夠自動偵測資料列製作者。
支援的連接器
- SAP CDC
- Azure SQL Database
- SQL Server
- Azure SQL 受控執行個體
- Azure Cosmos DB (SQL API)
- Azure Cosmos DB 分析存放區
- Snowflake
對應資料流程中的自動累加擷取
ADF 對應資料流程可以在來源存放區中自動偵測及擷取最近更新的資料列或更新的檔案。 當您想要從資料庫取得差異資料時,需要有累加資料行才能識別變更。 當您只想從儲存體存放區載入新檔案或更新的檔案時,ADF 對應資料流程只要處理檔案的上次修改時間即可。
支援的連接器
- Azure Blob 儲存體
- ADLS Gen2
- ADLS Gen1
- Azure SQL Database
- SQL Server
- Azure SQL 受控執行個體
- 適用於 MySQL 的 Azure 資料庫
- 適用於 PostgreSQL 的 Azure 資料庫
- Common Data Model
管線中由客戶管理的差異資料擷取
您隨時可以針對所有 ADF 支援的數據存放區建置自己的差異資料擷取管線,包括使用查閱活動來取得儲存在外部控制數據表中的水位線值、複製活動或對應數據流活動,以針對時間戳或標識符數據行查詢差異數據,以及 SP 活動,將新的水位線值寫回外部控制數據表,以供下一次執行。 當您只想從記憶體存放區載入新檔案時,可以在每次成功移至目的地之後刪除檔案,或使用時間分割的資料夾或檔名或上次修改時間來識別新檔案。
最佳做法
資料庫中的異動資料擷取
- 一律建議使用原生異動資料擷取作為取得變更資料的最簡單方式。 當 ADF 擷取變更資料進一步處理時,也會降低來源資料庫的負擔。
- 如果您的資料庫存放區不屬於具有原生異動數據擷取支援的 ADF 連接器清單,建議您檢查自動累加擷取選項,而您只需要輸入累加數據行來擷取變更。 ADF 會負責其餘部分,包括建立差異載入的動態查詢,以及管理每次活動執行的檢查點。
- 管線中由客戶管理的差異資料擷取涵蓋所有 ADF 支援的資料庫,並可讓您自行彈性控制一切。
檔案型儲存體中的變更檔案擷取
- 當您想要從 Azure Blob 儲存體、Azure Data Lake Storage Gen2 或 Azure Data Lake Storage Gen1 載入數據時,對應數據流可讓您僅透過簡單的選取方式取得新的或更新的檔案。 這是最簡單的建議方式,可讓您在對應數據流中從這些檔案型記憶體達到差異負載。
- 您可以取得更多最佳做法。
Checkpoint
當您在 ADF 對應數據流中啟用原生異動數據擷取或自動累加擷取選項時,ADF 可協助您管理檢查點,以確保每個活動自動執行只會讀取自上次管線執行以來變更的源數據。 檢查點預設會與您的管線和活動名稱相結合。 如果您變更管線名稱或活動名稱,檢查點便會重設,這會導致您在下次執行時得從頭開始,或是取得從現在開始的變更。 如果您想要變更管線名稱或活動名稱,但仍保留檢查點以自動從上次執行取得變更的數據,請在數據流活動中使用您自己的 檢查點索引鍵 來達成此目的。 您自己的檢查點索引鍵命名規則與連結服務、數據集、管線和數據流相同。
偵錯管線時,此功能的運作方式相同。 當您在偵錯執行期間重新整理瀏覽器時,檢查點會重設。 在您對偵錯執行的管線結果感到滿意之後,可以繼續發佈並觸發管線。 當您第一次觸發已發佈的管線時,會自動從頭重新開始,或是取得從現在開始的變更。
在監視區段中,您隨時有機會重新執行管線。 重新執行時,一律會從所選管線執行的前一個檢查點擷取變更的資料。
教學課程
下列是在 Azure Data Factory 和 Azure Synapse Analytics 中啟動異動資料擷取的教學課程。
範本
下列是在 Azure Data Factory 和 Azure Synapse Analytics 中使用異動資料擷取的範本。