《Windows Azure Platform 系列文章目錄》
我們在做數據分析和數據轉換的時候,經常會遇到ETL的場景,所謂ETL就是英文Extract-Transform-Load的縮寫,用來描述將數據從來源端經過抽取(extract)、轉換(transform)、加載(load)至目的端的過程。
現在在大數據的背景下,不僅有ETL,也會有ELT的場景。Azure數據工廠為這些復雜的數據集成項目,溝通的PaaS服務。
熟悉微軟產品的讀者都知道,微軟傳統的數據庫產品SSIS (SQL Server Integration Service)就是數據庫的ETL工具。
但是在雲平台,我們的數據源會有很多種,除了傳統的CSV, Excel,關系數據庫以外,還有AWS S3,AWS Redshift,Salesforce,SAP HANA,Google BigQuery等等多種數據源。
Azure Data Factory (ADF)除了支持多種數據源以外,還支持數據轉換,數據加載和變量參數配置等等。我們會在后面的內容做詳細的介紹。
在開始ADF的演示之前,我們還需要了解ADF的核心概念。包含:
1.Pipleline管道
2.Activity活動
3.Dataset數據集
4.Linked Service鏈接服務
5.Parameter參數
1.Pipleline管道
數據工廠可以包含一個或多個數據管道。 “管道”是共同執行一項任務的活動的邏輯分組。 例如,執行一個或者多個任務,每個任務可以有依賴關系,或者沒有依賴關系。並且任務可以並行執行。
2.Activity活動
管道中的活動定義對數據執行的操作。 例如,可使用復制活動將數據從本地 SQL Server 復制到 Azure Blob 存儲。 然后,使用數據流活動或 Databricks 筆記本活動來處理數據並將其轉換為 Azure Synapse 分析池,在此基礎上構建了商業智能報告解決方案。
3.Dataset數據集
數據集可識別不同數據存儲(如表、文件、文件夾和文檔)中的數據。 例如,Azure Blob 數據集可在 Blob 存儲中指定供活動讀取數據的 Blob 容器和文件夾,或者是SQL Server里的一張Table表
4.Linked Service鏈接服務
Linked Service鏈接服務類似於連接字符串,它定義數據工廠連接到外部資源時所需的連接信息。 不妨這樣考慮:數據集代表SQL Server中的Table數據結構,而鏈接服務則定義到SQL Server的數據庫鏈接連接。 例如,Azure 存儲鏈接服務可將存儲帳戶鏈接到數據工廠。 Azure Blob 數據集表示 blob 容器以及包含要處理的輸入 blob 的 Azure 存儲帳戶的文件夾。
5.Parameter參數
概念上類似於變量,可以在運行時被調用。比如文件名保存的時候,是以當前運行時間的年、月、日、小時等信息來保存。或者是自增量,每次調用的時候自加1等等。
ADF和傳統SSIS的比較:
ADF | SSIS |
Pipleline | Package |
Activity | Task |
Dataset | Source/Destination |
Linked Service | Connection Manager |