DataStage 与PowerCenter

来源:互联网 发布:英雄无敌7 for mac 编辑:程序博客网 时间:2024/05/22 02:20

通过将近一周的学习时间,我大致掌握了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 进行调试以及一些调优的操作,这些都是一个设计开发工作成功的关键。不过,这就需要在平时的学习和项目中进行积累和掌握了。

在这次PowerCenter 的学习过程中,还得到了同事的一些帮助和指导。在此,我感谢谢他们!因为有了他们的帮助,才有了我的进步!