Datastage常用組件使用方法(詳盡版)-轉載

轉載:https://blog.csdn.net/zq9017197/article/details/27802541

常用組件使用方法:

Sequential file

功能特點:適用於一般順序文件(定長或不定長),可識別文本文件或IBM大機ebcdic文件。

使用要點:

按照命名規範命名

點住文件,雙擊鼠標,在general說明此文件內容,格式,存儲目錄等。

Annotation

功能特點:

一般用於註釋,可利用其背景顏色在job中分顏色區別不同功能塊

Change Capture Stage

功能特點:

Change Capture Stage有兩個輸入,分別標記爲before link 及after link。輸出的數據表示before link 和after link的區別,我們稱作change set。Change Capture Stage可以和Change Apply Stage配合使用來計算after set。

使用要點:

key及value的說明:key值是比較的關鍵值,value是當key值相同是作進一步比較用的。

change mode選項說明:

All keys,Explicit Values 需要指定value,其餘字段爲key

Explicit Keys&Values key及value都需要指定

Explicit Keys,All Values 需要指定key,其餘的字段爲value

輸出策略說明:

Drop Output For Copy

False:保留before及afte link中key值相同的行

True:刪除before及afte link中key值相同的行

Drop Output For Delete

False:保留before link中有但是after link中沒有的key值所在的行

True:刪除before link中有但是afte link中沒有的key值所在的行

Drop Output For Edit  

False:保留key值相同,value不同的行

True:刪除key值相同,value不同的行

Drop Output For Insert  

False:保留before link中沒有但afte link中有的key值所在的行

True:刪除before link中沒有但afte link中有的key值所在的行

Copy Stage

功能說明:

Copy Stage可以有一個輸入,多個輸出。他可以在輸出時改變字段的順序,但是不能改變字段類型。

注意:

當只有一個輸入及一個輸出時最好將Force設置爲True,這樣可以在Designer裏看到運行結束,否則將無法標識運行結束,但不會影響運行結果數據。

Filter Stage

功能說明:

Filter Stage只有一個輸入,可以有多個輸出。根據不同的篩選條件,可以將數據輸出到不同的output link。

Funnel Stage

功能說明:將多個字段相同的數據文件合併爲一個單獨的文件輸出

合併策略說明:

Continuous Funnel:從每一個input link中循環取一條記錄

Sort Funnel:按照Key值排序合併輸出

Sequence:先輸出第一個input link的數據,輸出完畢後再輸出第二個

input link的數據,依此類推,直到結束。(此時可以通過調整link Ordering調整輸出順序)

Tansformer Stage

功能說明:

 一個功能極爲強大的Stage。有一個input link,多個output link,可以將字段進行轉換,也可以通過條件來指定數據輸出到那個output link。在開發過程中可以使用拖拽。

Constraint及Derivation的區別

Constraint通過限定條件使符合條件的數據輸出到這個output link。  

Derivation通過定義表達式來轉換字段值。

在Constraint及Derivation中可以使用Job parameters及Stage Variables。

注意:

Transformer Stage功能強大,但在運行過程中是以犧牲速度爲代價的。在只有簡單的變換,拷貝等操作時,最好用Modify Stage,Copy Stage,Filter Stage等來替換Transformer Stage。

Sort Stage

功能說明:

只能有一個輸入及一個輸出,按照指定的Key值進行排列。可以選擇升序還是降序,是否去除重複的數據等等。

Option具體說明:

Allow Duplicates:是否去除重複數據。爲False時,只選取一條數據,當Stable Sort爲True時,選取第一條數據。當Sort Unility爲UNIX時此選項無效。

Sort Utility:選擇排序時執行應用程序,可以選擇DataStage內建的命令或者Unix的Sort命令。

Output Statistics:是否輸出排序統計信息到job日誌。

Stable Sort:是否對數據進行二次整理。

Create Cluster Key Change Column:是否爲每條記錄創建一個新的字段:clusterKeyChange。當Sort Key Mode爲Don’t Sort(Previously Sorted) 或Don’t Sort (Previously Grouped)時,對於第一條記錄該字段被設置爲1,其餘的記錄設置爲0。

Create Key Change Column:是否爲每一條記錄創建一個新的字段KeyChange。

LookUp Stage

功能說明:

LookUp Stage把數據讀入內存執行查詢操作,將匹配的字段輸出,或者在符合條件的記錄中修改或加入新的字段。

Join Stage

功能說明:將多個表連接後輸出

LookUp Stage 和Join Stage 的區別 

LookUp Stage將數據讀入到內存中,所以效率很高,但是佔用了較多的物理內存。所以當reference data比較小的時候,我們推薦用LookUp Stage;當reference data比較大的時候,我們推薦用Join Stage。

Merge Stage

功能說明:

將Merge Key值相同的記錄合併。將其中的一個輸入設定爲Master,其餘的爲Update。把Update中Merge Key相同的記錄合併入Master。

Modify Stage

功能說明:

Modify stage 只能有一個輸入及一個輸出,它可以修改表結構:刪除,保留一個字段;給字段改名;修改字段的數據類型。

Specification的具體用法:

刪除一個字段:DROP columnname [, columnname]

保留一個字段:KEEP columnname [, columnname]

改變字段:new_columnname[:new_type]=[explicit_conversion_function]old_c olumnname

可用的explicit_conversion_function請參看Datastage開發參考。

Data Set Stage

Stage類型:File stage

功能說明:

從data set文件中讀取數據或者寫數據到data set文件中,一個Date Set Stage只能有一個輸入連接(input link)或者一個輸出連接(output link)。

具體用法:

包括Stage Page,Inputs Page,Outputs Page。

Stage Page通常描述了stage的一般信息,諸如名稱等;

Inputs Page描述了即要寫入信息的data set文件的詳細信息;

主要是Properties和Column的定義。

Properties中配置了文件的存放路徑和更新策略;

File Set Stage

Stage類型:File stage

功能說明:

從file set文件中讀取數據或者寫數據到file set文件中,一個File Set Stage只能有一個輸入連接(input link)、一個輸出連接(output link)和一個拒絕連接(rejects link)。並且只能在並行模式下執行。

具體用法:

Stage Page:對Stage的基本定義

Inputs Page:主要是Properties和Format的配置

Properties的配置:定義文件的存取路徑及其他讀寫的相關的參數。特別要說明的是Options下的Reject Mode的選擇,當stage有reject link的時候,必須選擇Output;沒有reject link時,可選擇其他兩個選項。

Format的配置:定義了數據寫到文件中的格式

Outputs Page:對stage輸出的數據字段的描述,另外,reject link的輸出系統將默認,不需要用戶自己定義字段。

Lookup File Set Stage 

Stage類型: File stage

功能說明:

爲執行查找操作而創建的參照文件。

作爲查找的參照數據,通常在參照數據比較大量或者重複使用率較高的情況下,將參照數據生成專門的Lookup File Set文件,以便提高查找的效率

具體用法:

Inputs Page:主要定義了查找關鍵字和存放路徑等主要信息

Outputs Page:當作爲參照數據進行查找操作時,因爲文件是已經生成好的,所以在這裏不需要再做詳細的定義,只要引入即可。

Oracle Enterprise Stage

Stage類型:Database Stage

功能說明:從Oracle數據庫中讀取數據或者寫數據到Oracle數據庫中。

通常完成的操作:

使用INSERT或UPDATWE命令更新數據庫表

裝入數據庫表

讀取數據庫表

從數據庫表中刪除行

在庫表中直接執行查詢操作

將庫表裝入內存,然後執行查詢操作

具體用法:

Inputs Page:向數據庫中寫數據,關鍵是對Properties的配置

Outputs Page:與Inputs Page類似,只是完成的是從數據庫中讀取數據。

Aggregator Stage

Stage類型:Processing Stage

功能說明:

將輸入的數據分組,計算各組數據的總和或者按組進行其他的操作,最後將結果數據輸出到其他的stage。

具體用法:

Stage Page:描述stage的一般信息以及字段的分組信息和選擇分組計算函數

Inputs Page:詳細描述輸入數據信息,一般直接反映輸入數據字段信息

Oupputs Page:詳細描述輸出數據信息,即經過分組計算後的數據字段信息

Remove Duplicates Stage

Stage類型:Processing Stage

功能說明:

輸入根據關鍵字分好類的有序數據,去除所有記錄中關鍵字重複的記錄,通常與sort stage配合使用

具體用法:

Stage Page:Properties中的key值與之前sort stage的分類key值相同

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述

Compress Stage

Stage類型:Processing Stage

功能說明:將data set文件壓縮成二進制文件(與expend datastage相對應)

具體用法:

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述

Expand Stage

Stage類型:Processing Stage

功能說明:將壓縮的二進制文件解壓縮(解壓縮compress stage生成的壓縮文件)

具體用法:

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述

Difference Stage

Stage類型:Processing Stage

功能說明:

按字段比較兩個文件,找出不同的記錄。(兩個文件before和after,以before爲準,與after文件中的記錄進行比較,找出before在after文件中沒有或者有的記錄)

比較策略說明:

Drop Output For Copy

False:保留before及afte link中key值相同的行

True:刪除before及afte link中key值相同的行

Drop Output For Delete

False:保留before link中有但是afte link中沒有的key值所在的行  

True:刪除before link中有但是afte link中沒有的key值所在的行

Drop Output For Edit

False:保留key值相同,value不同的行  

True:刪除key值相同,value不同的行  

Drop Output For Insert

False:保留before link中沒有但afte link中有的key值所在的行  

True:刪除before link中沒有但afte link中有的key值所在的行  

調整before和after的順序:

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述

Compare Stage

Stage類型:Processing Stage

功能說明: 按字段對比兩個已經分類的有序的文件

具體用法:

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述

Switch Stage 

Stage類型:Processing Stage

功能說明:

將文件按照一定的條件(一般爲字段的值)分割成多個子文件。具體是將輸入的每一條記錄按照各自符合的條件(關鍵字的值)分配到不同的輸出(Switch Stage 有一個input link 和多個output link,一個reject link,output link最多可達128個;此功能很類似與C函數中的switch函數)。

具體用法:

Stage Page:定義分配記錄的關鍵字及其值

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述,通過Mapping自定義各個輸出文件中的字段

Column Import Stage

Stage類型:Restructure Stage

功能說明:

將一個字段中的數據輸出到多個字段中。(也可以用這個stage完成分割單個字段數據到多個字段的目的,此時,輸入數據應爲定長或者有可以被識別的可分割的界限,必須是String或者Binary類型的,輸出數據可以是任何數據類型)

具體用法:

Stage Page:關鍵是對Properties的配置

Inputs Page:對輸入數據字段的描述

Oupputs Page:對輸出數據字段的描述,在Column自定義輸出字段

Column Export Stage

Stage類型:Restructure Stage

功能說明:

與Column Import Stage相反,將多個類型不同的字段合併成一個string或者binary類型的字段。

具體用法:

Stage Page:關鍵是properties的配置,選擇將哪些字段合併,合併後的新字段在Output下的column中直接定義。

Inputs Page:對輸入數據字段的描述,這裏關鍵是Format的配置,決定合併後的字段的格式

Oupputs Page:對最終合併後的輸出數據字段的描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章