Azure Data Factory 系列博客:html
Azure Data Factory(簡寫 ADF)是Azure的雲ETL服務,簡單的說,就是雲上的SSIS。ADF是基於雲的ETL,用於數據集成和數據轉換,不須要代碼,直接經過UI(code-free UI)來設計,可進行直觀監控和管理。用戶還能夠把現有的SSIS packages部署到Azure,並和ADF徹底兼容地運行。網絡
在大數據的世界中,原始的、無結構的數據一般存在在關係型、非關係型和其餘存儲系統中,因爲原始數據沒有適當的上下文含義,沒法被數據分析師、數據科學家提供有意義的insights。數據結構
ADF可以處理海量的數據,對這些原始數據進行處理和提煉,得到有用的信息和洞察。Azure Data Factory 建立Pineline,從不一樣的數據源(如:Azuer Storage,File, SQL DataBase,Azure Data Lake等)中提取數據,對數據進行加工處理和複雜計算後,把這些有價值的數據存儲到不一樣的目標存儲(如:Azuer Storage,File, SQL DataBase,Azure Data Lake等)上,供數據分析師或數據科學家進行分析。併發
Azure 數據工廠是基於雲的數據集成服務,用於在雲中建立數據驅動型工做流,以便協調和自動完成數據移動和數據轉換。 使用 Azure 數據工廠可執行如下任務:app
ADF 包含一系列的相互鏈接組件,爲數據工程師提供完整的端到端(end-to-end)的平臺。Azure 數據工廠中的管道(數據驅動型工做流)一般執行如下三個步驟:工具
1,鏈接和收集oop
企業有不一樣類型的數據,這些數據位於不一樣的源中,好比on-permises,雲上的,有結構的、無結構的,而且以不一樣的間隔和速度到達。構建信息生成系統的第一步是鏈接到全部必需的數據源,對數據進行處理,這些源包括:SaaS 服務、文件共享、FTP、Web 服務,而後,把須要的數據移到中心位置進行後續處理和分析。大數據
若是沒有ADF,那麼企業就必須建立自定義的數據移動組件或編寫自定義的服務,以便集成這些數據源並進行處理。集成和維護此類系統既昂貴又困難,這些系統一般還缺少企業級監視、警報和控制,而這些功能是徹底託管的服務可以提供的。可是藉助ADF,用戶能夠在pipeline中使用「Copy Activity」,把數據從本地和雲的源數據存儲轉移到雲上的集中數據存儲,進行進一步的分析。編碼
2,轉換和擴充spa
把數據集中到雲上的數據存儲之後,使用ADF映射數據流處理或轉換數據,數據流使數據工程師可以構建和維護數據轉換,而無需瞭解Spark集羣或Spart變成。若是用戶喜歡手工編碼轉換,那麼ADF支持外部活動(External Activity),以在HDInsight Hadoop,Spark,Data Lake Analytics和Machine Learning等計算服務上執行轉換。
3,發佈
ADF使用Azure DevOps和GitHub全面支持Pipeline,在發佈最終版本以前進行迭代式的開發。把原始數據精煉成可用於商業分析的數據以後,用戶能夠把轉換的數據從雲上的存儲傳送到本地源(例如 SQL Server),也可將其保留在雲存儲源中,供 BI 和分析工具及其餘應用程序使用。
4,Source Control 和 Monitor
ADF內置監控器,用於監控ADF中的活動(Activity)和Pipeline的成功率和失敗率。
V2版本的ADF具備GitHub和DevOps的source control功能。
ADF 由下面4個關鍵組件構成:
ADF的4個關鍵組件之間的關係:
1,管道(Pipeline)
數據工廠包含一個或多個Pipeline,管道是Activity的邏輯分組,一個管道做爲一個工做單元,管道中的Activity做爲一個總體來執行任務。管道中的Activity對數據執行動做。
管道使用戶能夠把多個Activity做爲一個總體進行管理,而沒必要單獨管理每一個Activity,管道中的Activity能夠鏈接在一塊兒按照順序串聯執行,也能夠單獨以併發方式執行。
2,活動(Activity)
管道能夠包含一個或多個活動,活動定義對數據執行的操做,是Pipeline中的一個步驟。 例如,用戶可使用Copy Activity把數據從一個數據存儲複製到另外一個數據存儲。ADF支持三種類型的活動:數據移動活動、數據轉換活動和控制流活動。
3,數據集(Datasets)
數據集代碼數據存儲中的數據結構,這些結構指向或引用在活動中使用的數據(輸入或輸出),也就是說,一個活動使用零個或多個數據集做爲輸入,使用一個或多個數據集做爲輸出。
數據集(Dataset)相似於數據的視圖,只是簡單地指向或引用在活動中用做輸入的數據源或者用做輸出的數據目標。在建立Dataset以前,必須建立Linked Service,把數據鏈接到數據工廠。Linked Service 就像鏈接字符串,定義數據工廠如何和外部資源進行鏈接。而Dataset表明的是數據的結構(Schema),而Linked Service定義如何鏈接到數據。
4,鏈接(Connection)
鏈接有兩種類型:Linked services 和 Integration runtimes,Linked services 是基於Integration runtimes的鏈接服務。
Integration runtime(IR) 是Azure 數據工廠在不一樣的網絡環境中進行數據集成的組件,
鏈接服務(Linked services )相似於鏈接字符串,用於定義ADF鏈接到外部資源時所須要的鏈接信息,鏈接服務定義如何鏈接到外部數據源,而數據集表明外部源數據的結構。
5,映射數據流(Mapped Data Flow)
在ADF V2版本中,新增了映射數據流組件,映射數據流用於數據轉換,數據流做爲Activity在管道中執行。 數據流使數據工程師無需編寫代碼便可開發數據轉換邏輯。
6,其餘組件
參數(Parameters)是一個只讀的Key-Value對,參數定義在管道中,在管道執行時,參數傳遞到管道中的Activity中。
變量(Variable)用於在管道中存儲臨時值,並能夠接收參數的值,把值傳遞到其餘管道、數據流和Activity中。
參考文檔: