PowerCenter 基礎

PowcerCenter 也是屬於典型的 C/S 架構,分爲服務器組件和客戶端組件,服務端有三個服務: Informatica Service 、Integration Service 和 Repository Service ,客戶端主要就是 RDWM 四個組件。客戶端主要用於設計開發 WorkFlow ,而服務器則用於運行 WorkFlow 。以下是我整個學習過程中的一些心得體會:

PowerCenter和 Datastage 一樣,都是一款強大的 ETL 工具,這在我的學習中我深有體會。很多人說技術強的人根本不用工具,但我覺得不完全如此,我覺得只要工具用的恰到好處,那能達到事半功倍的效果。比如,如果你想對一個異構的數據源進行關聯查詢,那你不得不把異構的數據導入到同一個數據庫中,然後再進行關聯查詢,這是多費神的一件事啊!然而,如果懂得使用 PowerCenter 工具,那麼這類型的工作將很容易得到解決,你只要使用 PowerCenter 中的Joiner 組件或是 LookUp 組件就可以了。此外, PowerCenter 還爲 ETL 過程提供很多有用的組件: Source Qualifier 組件實現把源數據抽取出來,它相當於 ETL 的抽取的過程; Expression 組件、 Filter 組件、 Aggregator 組件等實現數據的清洗轉換,相當於轉換的過程; Update Stategy 組件則是一個比較高級的組件,能根據更新策略進行目標表的加載,相當於加載的過程。可以說,只要你想要在 ETL 過程中實現的操作,都能在 PowerCenter 中實現。

以上說了一些PowerCenter 在 ETL 過程中會使用到的一些重要組件,而對這些組件的使用又有許多要注意的地方和技巧性的東西。比如, Active 組件和 Passive 組件使用上的注意; N個同構數據源只需用 1 個 Source Qualify 組件關聯,關聯時建議將在 Source  Analyzer中 將需要關聯的源表  用連線手工關聯起來,在Mapping 設計區刪除各個源所帶的 Source Qualify 組件,用一個新的 Source Qualify 組件包含所有源的字段內容  N個異構數據源需用 n-1 個 Joiner組件關聯,關聯時建議將數據量少的設置爲 Master ; LookUp組件中如果要 LookUp 的次數少且 LookUp 表的數據量很大的話就沒必要設置 Cache ; Sorter 組件的使用可以提高 Joiner 組件和 Aggregator 組件的效率,但要注意 Sorter組件排序的順序要與彙總的順序一致, Joiner組件和 Aggregator 組件中的 屬性Sort 記得鉤上 Update Strategy 有多種數據操作: DD_INSERT  、 DD_UPDATE 、 DD_DELETE 和 DD_REJECT ,用 Update Strategy 對目標表進行操作時一定要記得在 Target Designer 中設定主鍵值;不連接的 LookUp 組件的使用  要記得選中相應Port 的返回值選項"R "; Target load type 設置中 當目標表沒有索引約束時可選Bulk 類型,數據量大時效率較明顯 ,因爲它跳過數據庫的日誌操作。

對於組件的使用,還是有很多需要注意的和技巧性的東西。實際上,這些都是比較細的地方,但是,要想真正使用PowerCenter 進行設計開發工作,更必需清楚它的六大開發步驟(定義源、定義目標、創建 Mapping 、定義任務、創建 WorkFlow 、 WorkFlow 的調度監控),特別是當出現問題時如何通過監控日誌進行排錯的能力尤其重要,還有就是通過 Debugger 對 Mapping 進行調試以及一些調優的操作,這些都是一個設計開發工作成功的關鍵。不過,這就需要在平時的學習和項目中進行積累和掌握了。

Update Strategy Transformation:

一些標識update操作的常量:

DD_Insert: 插入新紀錄,實際值是 0

DD_Update: 更新記錄,實際值是 1

DD_Delete: 刪除記錄,實際值是 2

DD_Reject: 阻止記錄流入下個transformation ,實際值是 3

其他數值,4,5,6……均表示DD_Insert


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