ADF 第五篇:轉換數據

映射數據流(Mapping Data Flow)的核心功能是轉換數據,數據流的結構分爲Source、轉換和Sink(也就是Destination),這種結構很是相似於SSIS的數據流。架構

在數據流中,數據就像流水(stream)同樣,從上一個組件,流向下一個組件。組件之間有graph相鏈接,把各個組件鏈接爲一個轉換流(transformation stream),在數據流面板中,graph顯示爲一根線,用於表示數據從一個組件流向另外一個組件的路徑。app

轉換組件是數據流的核心組件,每個轉換組件都有輸入和輸出,接收上一個路徑上的組件輸入的數據,並向下一個路徑上的組件輸出數據。性能

一,建立映射數據流面板

打開一個數據工廠,切換到Author面板中,從「Factory Resources」中選擇「Data flows」,從後面的「...」 (Actions)中選擇「New mapping dataflow」,新建數據流面板:優化

初始的數據流面板以下圖所示,dataflow1是數據流面板的名稱,面板的中央是畫布,能夠向畫布中添加Source、轉換組件和Sink(destination)。debug

二,爲數據流組件添加Source

從dataflow的面板中點擊「Add Source」爲數據流添加源, 添加數據源以後,source1是源的名稱,右下方有一個「+」號,表示爲源添加轉換功能。代理

 

在選中Source以後,面板中央的下方區域顯示爲Source的屬性面板,調試

1,Source setting 面板日誌

Source settings 用於設置Source的屬性,經常使用的Source屬性是Source type(源類型),最經常使用的類型是Dataset,表示從Dataset中獲取數據。orm

2,Optimize 面板blog

Optimize 選項卡 用於設置分區架構,能夠設置Partition option、Partition type和 Number of partitions,分區會優化數據流的性能。

3,Inspect面板

Inspect 選項卡用於顯示數據流的元數據,該選項卡是一個只讀的視圖,從該選項卡中能夠看到數據流的列數量(column counts),列變化、增長的列、類的數據類型、列的順序等。

三,添加轉換功能

點擊Source右小角的「+」號,爲源添加轉換功能,這是數據流的核心功能,經常使用的轉換功能分爲四組:Multiple inputs/outputs、Schema modifier、Row modifier和Destination。

1,多輸入/輸出(Multiple inputs/outputs)

  • Join:用於表示鏈接,把多個Source(Input)鏈接成一個輸出流
  • Conditional Split:條件拆分,把一個Source 按照條件拆分紅多個輸出流
  • Exists:須要兩個輸入Left stream和Right stream,按照指定的條件和Exist type輸出數據,若是Exist type是Exists,那麼表示輸出Left Stream存在於Right stream的數據;若是Exist type是Doesn't exist,那麼表示輸出Left stream不存在於Right stream的數據。
  • Union:把多個輸入合併
  • Lookup:須要兩個輸入,Primary stream和Lookup stream,把Primary stream中存在於Lookup stream中的數據輸出。

2,Schema Modifier

對列進行修改:

  • Derive Column:派生列
  • Select:選擇列
  • Aggregate:對源中的數據進行聚合運算
  • SurrogateKey:根據源的主鍵生成代理主鍵
  • Pivot和Unpivot:透視和逆透視
  • Windows:定義數據流中基於窗口的列的聚合
  • Flatten:平展數據,例如,把JSON字段平展,生成多個字段
  • Rank:排名

 3,Row Moifier

對行進行修改:

  • Filter:過濾行
  • Sort:對行進行排序
  • Alter Row:修改行,設置針對行的插入、刪除、更新和更新插入(upsert)策略

4,Destination

Sink:用於設置數據存儲的目標

四,運行和監控數據流

數據流其實是Pipeline中的一個Activity,只有在Pipeline中建立數據流Activity,才能開始Debug,並設置觸發器。

1,調式數據流

在發佈(publish)以前,須要對數據流進行調試,把數據流的「Data flow debug」設置爲啓用:

調試完成以後,發佈數據流,就能夠把數據流保存到數據工廠中。

2,添加數據流Activity

在Pipeline中面板中添加Data flow 活動,

在Data flow活動的Settings選項卡中,在「Data flow」中設置引用的數據流,Run on (Azure IR) 用於設置IR,並能夠設置日誌級別(Logging Level),Verbose是默認選項,表示記錄詳細的日誌。

3,監控數據路

監控數據流其實就是在Pipeline runs中查看管道執行的狀況 

 

 

 

參考文檔:

Transform data using mapping data flows

相關文章
相關標籤/搜索