1. 表達式轉換組件 (expression)
expression 屬於被動組件類型(passive),是一種行級表達式,不改變數據行數,功能強大,操作簡單。
主要在以下情況下應用:
- 對流入數據的類型、內容值修改
- 添加、記錄變量值
2. 篩選器轉換組件(filter)
filter組件屬於主動組件類型(active),按照過濾條件過濾當前流入數據。
source qualifier 的中的source filter不能對數據作二次過濾,而且source filter不能對平面問文件數據過濾,這時就需要利用filter組件對數據過濾了
3. 聯接器轉換(joinner)
當我們需要不同表的某些字段時,可以使用joinner組件聯接兩張表生成新的目標表。
使用joinner組件的注意事項:
- 聯接字段類型必須一致(盡量確保沒有數據的合法性),而且joinner組件中只支持‘=’比較
- 在區分主表和詳細表時,應當把小表作主表(master),大表作詳細表(detail),可以提高運行效率
- 聯接類型:
Normal Join:內連接(常用)
Master Outer Join/Detail Outer Join:左外連接/右外連接
Full Outer Join:全表連接
4. 排序器轉換(sorter)
sorter組件屬於被動組件類型(passive),能夠對FlatFile和數據庫的數據源進行排序,排序建議多個字段的排序方式一致,性能會得到一定的提升。相當於sql中的order by。
5. 匯總器轉換(aggregator)
匯總組件相當於sql中的group by,屬於主動組件類型,會改變數據的行數
- 在Informatica中匯總器可以查詢除了匯總字段,匯總函數之外的字段,可以在屬性中設置顯示分組后最后一條(默認)或者第一條數據。
- 條件匯總。在匯總函數后加條件。例如:Avg(cost,cost<100)求成本小於100的成本的平均值
-
匯總數據流入前排序會提升匯總效率
非排序的方式輸入:需要等待全部數據流入到匯總組件中再進行排序和分組,執行session時會出現等待狀態
排序的方式輸入:對每流入的被排序好的數據直接進行匯總,每個組匯總之后直接流入到下一個組件,是一種串行的流入方式,性能會提升。
