Informatica -组件使用介绍及优化_第1页
Informatica -组件使用介绍及优化_第2页
Informatica -组件使用介绍及优化_第3页
Informatica -组件使用介绍及优化_第4页
Informatica -组件使用介绍及优化_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Informatica_组件使用及优化PowerCenterDesigner组件研究组件分为Passive组件和Active组件,Passive组件流入流出组件的行数不会发生变化,expression组件就属于Passive组件;Active组件流入流出组件的行数会发生变化,例如aggre组件。Passive组件流入流出组件的行数不发生变化例如:Expression、Lookup组件Active组件流入流出组件的行数会发生变化例如:Aggregator、Router、Filter组件流入组件的数据项在日志中显示详细级别SourceQualifier组件中的过滤条件设置SourceQualifier组件作用:如果添加了关系数据库中的表或平文件作为Source,需要连接SourceQualifier组件,才能从源表中读取出数据(非XML)。SourceQualifier代表了PowerCenterServer在运行会话时读取的数据行。常用属性:SqlQuery属性:编辑SQL脚本,该属性将会覆盖默认查询,即会覆盖以下几个属性。UserDefinedJoin属性:定义内连接或外连接SourceFilter属性:即添加WHERE条件子句至默认的SQL查询,实现过滤数据。NumberOfSortedPorts属性:排序的字段个数,大于0时即添加orderby子句至默认的SQL查询。TracingLevel属性:共有四级,表示log的复杂程度。SelectDistinct属性:选中表示去除重复记录,即添加SELECTDISTINCT语句至默认的SQL查询。PreSQL属性:读取源之前在源数据库上运行的会话前SQL命令。PostSQL属性:写入目标之后在源数据库上运行的会话后SQL命令。Expression组件

作用:

基于行级的数据项赋值、修改、计算

在同行记录中可新增、减少数据项

应用范围:

数据类型转换,例如Expression:to_date(Port1,’yyyymmdd’)

数据项计算,例如Expression:(Port1+Port2)/Port3

新增变量,例如Expression:i=i+1

创建Expression组件后,将需要用的字段从上一端口拖曳到Expression组件,双击组

件,打开编辑,新增创建所需的输出端口,只勾选“O”为只输出端口,在“Expression”中

编辑表达式,确保分配与表达式返回值相匹配的端口数据类型。输出端口的命名惯例为

OUT_PORTNAME。

可以利用一个Expression组件实现多个表达式转换工作,只要为多个输出端口输入一个

表达式,就可以在转换中创建任意多个输出端口

Aggregator组件作用:对多组记录执行聚合计算。用法:将需要聚合运行的字段拖曳到Aggregator组件,双击组件,在Port选项卡中,勾选要分组的列,新增输出端口,编辑聚合运算表达式。与sort组件联合使用可提高性能。对于聚合组件来讲,肯定是要有至少一个分组的字段,对此字段勾选【GroupBy】选项,对于要进行聚合计算的数值型表达式,选中【Expression】,点击向下的箭头,会出现标记表达式的对话框,在这个对话框中可以进行sum、avg、max、min等聚合运算。可以使用该组件可以进行汇总计算,如平均值和求和等。Aggregatortransformation和Expressiontransformation不一样,在Aggregatortransformation中执行计算是要分组的。Expressiontransformation只允许你执行计算在row-by-row的基础上的。当你使用transformation建立汇总表达式的时候,使用条件语句来过滤行,比SQL语句要灵活的多。例如:你使用如下的表达式来计算出所有commissions大于QUOTA的员工总的commissions:SUM(COMMISSION,COMMISSION>QUOTA)你也可以使用非汇总函数在汇总表达式中。例如下面的表达式:IIF(MAX(QUANTITY)>0,MAX(QUANTITY),0))您可以输入任何有效的转换表达式。例如,以下表达式将计算所有收入超过50,000美元的员工的平均薪水:SUM(SALARY,SALARY>50000)Union组件作用:合并多个数据源到一个结果集。与执行“UNIONALL”SQL语句结果相似,联合转换不会删除重复行。使用规则:可以创建多个输入组,但只能创建一个输出组。所有输入组和输出组均必须具有匹配的端口。所有组中的精度、数据类型和标度必须相同。联合转换不会删除重复行。要删除重复行,您必须添加另一个转换,例如Router或Filter转换。不能使用以Union组件作为上游的序列生成器或更新策略转换。联合转换不会生成事务。选项卡设置:“Groups”选项卡。您可以创建和删除输入组。在“Ports”选项卡上能显示创建了的组。“GroupPorts”选项卡。您可以创建和删除输入组的端口。在“Ports”选项卡上能显示创建了的端口。Joiner组件作用:连接查询指定非重复值少的表作为Master表可以提升性能,默认情况下,第一个加入的数据源是Detail;只支持相等连接,当使用多个连接端口时,连接的顺序对性能有影响;连接端口如果含有NULL值,连接不会成功;Joiner一次只能连接两个数据源,如果有多个数据源要进行连接,使用多个Joiner;Joiner可以连接来自同一个Source的数据流(自连),有两个方法:如果Joiner选择了SortedInput属性,可以用一个SourceInstance来实现,否则就需要Source的两个Instance;注意:在JoinType中选择好你需要的类型。如果你选择NormalJoin将会严格匹配记录。如果你选择MasterOuterJoin会把DetailSource表中的记录全部选出来。如果你选择DetailOuterJoin会把MasterSource表中的记录全部选出来本组件一次只能连接两个源,如果有多个源就使用多个该种组件,直到你把所有你想的都连接了为止。SequenceGenerator组件作用:生成序列数值。可以使用它创建唯一的主键值、替代缺失的主键或在一定有序数字范围内循环。SequenceGenerator控件提供两个输出端口:NEXTVAL和CURRVAL:NEXTVAL连接NEXTVAL至多个转换,从而为每个转换中的每行生成唯一的值。通过将NEXTVAL端口连接至转换或目标以生成序列号。连接NEXTVAL端口至下游转换,从而生成基于当前值和增量属性的序列。

CURRVALCURRVAL是NEXTVAL加上“增量”值。当NEXTVAL端口已连接下游转换时,您通常只需要连接CURRVAL端口。当行输入连接到CURRVAL端口的转换时,PowerCenterServer会传递最后创建的NEXTVAL值加1。常用属性介绍:StartValue属性:已生成序列的开始值。如果勾选“Cycle”,当序列达到结束值时循环回此值。IncrementBy属性:增量值。默认值为1。EndValue属性:结束值。如果序列值达到此值,但未勾选“Cycle”,则Session将失败。CurrentValue属性:序列的当前值。

Cycle属性:是否循环。(勾选后会按顺序生成序列,重新执行序列不会重复,未勾选时,重新执行序列会产生重复值)NumberofCachedValues属性:一次高速缓存的序列值数。当多个会话使用相同的可再用序列生成器时,使用此选项可以确保每个会话收到唯一的值。Reset属性:如果勾选,则每个Session会初始当前值。Rank组件作用:排序记录,只输出最顶层或最底层的一定记录数。用法:在Port选项卡中,在“R”列选择要排序的列。类似于Aggregator组件,Rank组件允许您对信息分组Rank组件会自动创建RANKINDEX端口,仅为输出端口,存储组中每行的等级位置。常用属性:Top/Button:选择是取最大值还是最小值NumberofRanks:选择排名位数,即需要进行等级排序的行的数量Router组件作用:与Filter组件相似,能按照条件执行过滤,不同的是能分组过滤数据。Router可以用一或多个Filter来取代,不同的是用Router来生成多个组时输入数据只需处理一次,所以效率更高;Router由一个输入组,一到多个用户定义的输出组和一个默认组组成,每一个用户定义的输出组含一个测试条件,满足条件的输入数据会进入相应的用户定义组,不满足所有用户定义条件的数据会进入默认组。如果某一行符合多个输出组的评估条件,则出现在多个组的输出数中;可以将一个输出组的端口连到多个Transformation或者Target上,但不能将多个输出组的端口连到一个Transformation或者Target上;Lookup组件作用:从关系型的表、视图或者同义词中根据lookup条件查询lookupport,返回查询结果,供mapping中的其他控件使用或者插入到目标表。包括已连接和未连接查找两种方式。从数据库表中,按条件查找相关的值并且传送给其他的对象。Connected:直接从其他控件获得输入信息;可以使用静态或者动态的Cache;只缓冲mapping中用到的port;每条记录可以返回多个column,并且能够插入到动态Cache中;查询条件无匹配时,返回所有输出port的默认值,如果使用动态Cache,InformaticaServer把记录毫无改变的保留在Cache中;支持用户定义的默认值;返回多个输出值到另一个控件中Unconnected:间接的从其他控件的:LKP表达式的结果来获得输入信息;只能使用静态Cache;缓冲所有的port;每条记录只能返回一列;查询条件无匹配时,返回NULL;不支持用户定义的默认值;将返回值输出到定义:LKP表达式的控件中常用属性:LookupSQLOverride:

只能在cacheenable的情况下才能用,另外不要输入ORDERBY子句,即使输入INFORMATICA也会产生ORDERBY子句LookupCachingEnabled:如果选中,查询一次表,以后的记录都从缓冲中去查询;如果不选,每条记录都从数据库中查询一次LookupPolicyonMultipleMatch:确定在uncached和staticcache的情况下如何处理查询得到的多条记录,可以取得第一条、最后一条或者是报错;在dynamiccached的情况下,如果查询得到多条记录,会报错DynamicLookupCache:当把经过的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论