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时会出现等待状态
排序的方式输入:对每流入的被排序好的数据直接进行汇总,每个组汇总之后直接流入到下一个组件,是一种串行的流入方式,性能会提升。