轉載: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:對最終合併後的輸出數據字段的描述