Informatica _组件使用介绍及优化

合集下载

Informatica_常用组件使用方法

Informatica_常用组件使用方法

常用组件使用方法表1中列出的是informatica中的所有组件。

不会在本文档中出现的会在组件名后标出。

表1Lookup概要描述获得一个关联的值。

例如:源里包含employee ID,但你还需要employee name。

用于计算的值。

例如:只是汇率或者个人所得税之类的固定数值,不是计算得出来的数据。

Update slowly changing dimension tables。

主要是根据条件查出原表,若查出了,就把自己添加的标志位设为真,否则就设置为假。

Connected or unconnectedConnected 和unconnected 的transformations的输入和输出是不同的,不同点如表2列出的。

表2Connected下面是Integration Service处理connected Lookup transformation的过程:1.一个connected Lookup transformation通过pipeline从其他的transformation获得输入值。

2.为每个输入行,Integration Service会通过lookup ports 和condition从源或者缓存中查询。

3.如果组件没有使用缓存或者使用的静态缓存,Integration Service会使用lookupquery来返回值。

4.如果组件使用的动态缓存,当Integration Service在缓存找不到这行,它会把这行插入到缓存中。

当Integration Service找到这行,它会修改这行在缓存中或者什么都不做。

它标记这行是插入、修改或者是不做变动。

5.Integration Service从查询中返回值到下一个transformation。

如果transformation使用动态缓存,你可以把这行通过Filter 或者Router transformation来过滤后在到目标中。

Informatica PowerCenter常用转换组件使用说明

Informatica PowerCenter常用转换组件使用说明
43;A,Ctrl+C,然后粘贴到word即可。 未能直接提供word版,抱歉。
Informatica PowerCenter常用转换组件使用说明
1 Expression 作用:实现基于单行记录的表达式计算,执行任意非聚合计算。 用法:创建Expression 组件后,将需要用的字段从上一端口拖曳到Expression 组件,双击组 件,打开编辑,新增创建所需的输出端口,只勾选“O”为只输出端口,在“Expression”中 编辑表达式,确保分配与表达式返回值相匹配的端口数据类型。输出端口的命名惯例为 OUT_PORTNAME。 可以利用一个Expression 组件实现多个表达式转换工作,只要为多个输出端口输入一个 表达式,就可以在转换中创建任意多个输出端口。 2 Aggregator 作用:对多组记录执行聚合计算。 用法:将需要聚合运行的字段拖曳到Aggregator 组件,双击组件,在Port 选项卡中,勾选 要分组的列,新增输出端口,编辑聚合运算表达式。 与sort 组件联合使用可提高性能。 常用属性: Cache Directory 属性:创建索引和数据高速缓存文件的本地目录。 Sorted Input 属性:指示已按组预排序输入数据。用于改善会话性能。只有当映射将已 排序数据传递至聚合转换时,才选择此选项。 Aggregator Data Cache Size 属性:转换的数据高速缓存大小。 Aggregator Index Cache Size 属性:转换的索引高速缓存大小。 Transformation Scope 属性:指定PowerCenter Server 如何将转换逻辑应用于接收数据: -Transaction。将转换逻辑应用于事务中的所有行。如果数据行取决于同事务中的 所有行,但与其它事务中的行无关,则选择“Transaction”。 -All Input。将事务逻辑应用于所有传入数据。选择“All Input”时,PowerCenter 将放弃接收事务边界。如果数据行取决于源中的所有行,请选择“All Input”。 4 聚合函数: AVG COUNT FIRST LAST MAX MEDIAN MIN PERCENTILE STDDEV SUM VARIANCE 只允许聚合表达式出现在Aggregator Transformation 组件中。聚合表达式可以包括条件 子句和非聚合函数。还可以包括一个嵌入另一聚合函数的聚合函数,例如: MAX(COUNT(ITEM)) 可以在任意输出端口创建聚合表达式并使用转换中的多个聚合端口。

informatica中常用各组件的功能

informatica中常用各组件的功能

目录未找到目录项。

Informatica 数据整合分为三类数据集成,即下游集成、中游集成和上游集成下游集成:指数据仓库,显著特点是,从数据流的角度看,数据仓库的主体功能是所有应用系统的下游,所有数据都会流向数据仓库中游集成:指数据交换平台,特点是,任何平台和它的关系都是对等的,它是这个数据枢纽hub的中心点,用来支持所有系统之间数据的数据交换,用于解决数据集成毛团问题。

上游集成:指主数据平台,而且是交易型主数据平台。

用于管理企业核心数据的黄金记录,作为企业核心记录的黄金数据的标准平台。

Informatica 的四个客户端及作用:1,Repository Manager:用于管理Repository本身,如创建文件夹,导入/导出Mapping、Worlkfolw,版本管理,部署,Repository的清除。

2,Designer:用于导入ETL元数据,开发ETL程序。

在Power Center中ETL程序被叫做Mapping,即源到目标的映射。

3,Workflow Manager:用于对Mapping的进行数据源、数据目标、使用的字符集、调优及参数配置等,使Mapping能够运行。

此外,还提供了基本的调度和排程的能力。

4,Workflow Monitor:用于监控运行时的Workflow和session,监控ETL运行是否正常、执行效率及异常时的错误信息。

Power Center的开发过程:0,使用PowerCenter客户端连接域(Domian)和数据库服务器Repository Service;建立一个文件夹(Folder),用于开发学习;1,在客户端PowerCenter Designer中导入源表和目标表的结构定义;注:在Power Center Designer中导入的仅仅是表结构,与执行过程的表名无强相关2,在Designer中,创建Mapping(ETL流程)3,在Designer中,拖动源和目标,以及相应组件进入Mapping4,在Designer中,建立源和目标,以及相应组件之间的映射5,在Workflow Manager中提供相应的配置信息及参数6,通过Workflow Monitor客户端进行监控7,预览执行结果重要概念:Mapping:是一个程序,但它不直接可以执行Session:是一个Mapping的实例,指定相关的配置信息后,可以执行;Workflow:可以执行一个或者多个Session,对Session或者其他Task组件进行排程基础组件:1,Source:源文件数据源可以是数据库表,文本文件,XML文件,SAP等,应用系统、Hadoop,MQ等源文件常用方法:手工创建,通过数据库、文本文件、样例文件导入注意:理论上,源表结构定义继承了数据库中表的定义,但是实践中有可能导入后的数据类型发生变化,如表中varchar2,而导入后变为nvarchar2,从而引起Session执行异常。

Informatica Transaction Control组件 描述

Informatica Transaction Control组件 描述

Transaction Control组件Active输入输出行数不同Connected连接组件组件概述PowerCenter可以根据流经过Transaction Control组件的一组数据来控制事务的操作类型:提交或者回滚。

事务包含受限于提交或者回滚的数据行。

可以通过输入行中一个变化的数值来定义一个事务,也可以通过一组已经排序了的数据来定义一个事务,比如员工id、日期。

在PowerCenter中,可以应用Transaction Control组件在mapping或者session 中:Mapping:在mapping中,通过Transaction Control组件定义一个事务。

在组件中根据一个表达式定义一个事务。

根据表达式的返回值,可以选择commit、roll back 或者continue不做任何变化。

Session:在配置session的时候可以自己定义事务。

在Integration Service向目标中写数据失败时,可以选择提交或者回滚。

在执行session的时候,Integration Service判断组件输入的每一行,当输入行事务类型为commit时,Integration Service提交所有行至目标。

当输入行事务类型为回滚时,Integration Service从目标中回滚该事务的所有行。

如果mapping的目标为文件时,Integration Service每开始一个新的事务时生成一个新的动态命名的输出文件。

Note:也可以通过其他的组件属性来定义事务。

组件属性使用Transaction Control组件定义事务目标的提交、回滚条件。

事务目标包含:relational, XML, and dynamic MQSeries。

在Properties tab中控制表达式中定义以下参数,事务是一行或者一组数据,受限于提交或者回滚行。

每个事务的行数是变化的。

Transformation tab:在这个tab中可以重命名组件名称和增加组件说明Ports tab:增加输入输出端口Properties tab:定义事务控制表达式,标志出:commit, roll back, or no actionMetadata Extensions tab:You can extend the metadata stored in the repository by associating information with the Transaction Control transformation.Properties Tab通过该tab可以定义以下两个属性:Transaction control expressionTracing level事务控制表达式使用IIF函数来检查每一行是否满足条件。

Informatica组件应用详解

Informatica组件应用详解

Informatica组件应⽤详解Informatica组件介绍⼀、update的功能Update 主要是与lookup相组合的搭档。

根据lookup来与源表数据相对⽐,来跟新数据数据抽取。

它起到⼀个插⼊和拒绝的作⽤。

1.Powercenter的更新策略包括两个⽅⾯:A.在Mapping中:⽤Update Strategy Transformation标识⾏为Insert,Update,Delete或者Reject;B.在Session中:配置Treat source row as 属性(Insert,Update,Delete或者Data driven),配置Target的属性(Insert,Update [as Update](只是更新) | [as Insert](把更新视为新增) | [else Insert](先更新,更新不到则新增) ,Delete,Truncate target table option);2.在Update Strategy Expression中可以输⼊常量(DD_INSERT, DD_UPDATE,DD_DELETE, DD_REJECT)或者数字值(0,1,2,3),其它数字值被解析为0,可以⽤IIF或者DECODE函数构建逻辑表达式来区别每⼀⾏的更新策略;3.Forward Rejected Rows:勾选时被Rejected的⾏会存⼊对应Target配置的Reject⽂件中去,不选时,可能会写⼊Session Log中去,根椐当前Transformation的Tracing Level的属性来决定;如果在会话属性中配置了出错⾏⽇志属性,则不会⽣成Reject⽂件;⼆、Expression 的功能表达式编辑器可以使⽤不同的颜⾊来标记表达式的语法,以便很好的阅读。

如果你有最新的Rich Edit,riched20.dll,安装到了系统,表达式显⽰表达式函数为兰⾊,注释式灰⾊,引⽤的字符串式绿⾊。

informatica性能调优方法

informatica性能调优方法

一、Suorce调优1.文本文件:-调优Line Sequential Buffer Length(1024)2.关系型数据库:-在Source Qualify优化SQL-在源数据增加索引-增加Database Network Packet size-当DB与informatica在同一台机器上使用IPC协议二、Target调优1.目标为文本文件:-调优Line Sequential Buffer Length(1024)2.目标位关系型数据库-删除目标索引和约束-增加checkpoit interval-使用Bulk Loading和External loading-增加Database networkPacketsize三、Mapping调优>最少化转化组件>减少不必要的link>对Aggregator、Joiner、Rank、Lookup等组件,减少连接的input/output和output字段>Single Pass:读一次数据,多处使用>减少数据类型转换:数值的比较比字符串要快>减少转换错误:使用session tracing terse>组件调优:Lookup组件、Filter组件、Aggregator组件、Joiner组件调优、调优Sequence Generator>调优表达式>增加Partition>调优Session参数四、System调优>增加network speed:本地速度一般是网络的5-20倍;文件拷贝到本地>使用informatica Grid>当只处理7-bit ASCII或EBCDIC数据时,选用ASCII data movement mode :只是用一个字节存储数据。

>减少Paging(虚拟内存):在Unix系统下,使用processor binding将资源分配给informatica。

Informatica数据集成产品介绍

Informatica数据集成产品介绍

元数据共享
• Informatica的局部和全局的元数据库 (Local and global metadata repository) 可以注册各部门级数据市场的信息并可动 态将部门级数据市场与其它分布式信息存 储连接起来,从而可以得到全企业的统一 的数据仓库元数据视角。
PowerCenter与数据仓库系统
产品结构
• • • • • Informatica Server Workflow Manager , monitor Informatica Repository Server Repository Manager Designer
Informatica Server
• 数据集成引擎 • 支持各种操作平台,各种源、目标数据库
Designer
• • • • • • • 可视化设计环境 版本管理 丰富的转换函数 支持复杂条件选择 支持数据驱动的合并 直接支持SCD(慢速变化维) 调试工具
– 提供数据采样、断点、查询中间结果等功能
世界级客户
金融/服务业 制造业/高科技 通信业 保险业 医药
使用Informatica系统的企业
收入增长
200 160
2000 – 2001 的增长率: 30% $152
$197
120
80
$62.4 $30.3
40
$2.1
0 1996
$12.7
1997 1998 1999 2000 2001
Informatica的客户状况
• 100强的60%是Informatica的客户 • 道琼斯工业平均指数的63% • 世界500强
– – – – – 所有顶尖的娱乐集团 15家最大的电信集团,有12家是Informatica的客户 10家最大的金融服务/银行集团,有8家是Informatica的客户 15家顶级的公用事业/能源集团,有11家是Informatica的客户 10家最大的保险集团,有8家是Informatica的客户

Informatica调优(高级)

Informatica调优(高级)

接下来的这些条目是INFOR MATICA 的高级调优建议。

请极其谨慎地处理,每次试用一条建议。

在没有试着使用初级和中级建议来提高INFORMATICA 的性能以前,不要尝试使用如下的高级建议。

这些建议的实施可能需要系统管理员(SA)、数据库管理员(DBA)以及网络管理员之类的专家级人物的配合才可以,所以要细心。

高级调优最重要的方面就是能够精确的查明瓶颈是什么,并且有能力定位这些瓶颈是如何引起的。

根据常理,这些高级建议放在最后,并且是在系统级上的建议。

还有其他的适用于数据仓库调优的高级建议,可以依据你的软硬件资源存在的问题去寻找相应的帮助。

1、将MAPPING 分解。

保留一个数据目标。

如果必要每个数据目标保留一个数据源。

为什么要这么做呢?在一个MAPPING 中减少数据目标的个数会大幅度的提高运行的速度。

基本的情况是这样的:每个MAPPING/TARGET 对应一个SESSION。

每个SESSION 都会建立它自己的数据库连接。

因为对每个目标表建立一个单独的数据库连接,数据库管理器(DBMS)能将插入、更新和删除等操作需求并行地处理。

在一个SESSION 中进行一个特定目的的操作也是很有帮助的(例如不在把以数据驱动地操作和直接插入操作混合地插入到同一个数据目标中)。

如果实际情况运行,每个SESSION 可以被放置到标记为“CONCURRENT”的BATCH(译者注:旧版本的术语)中。

如果能够这样做,MAPPING和SESSION 的并行执行的情况就很显而易见了。

关于并行处理的研究一再地表明:与直接将原本的操作单元简单地顺序执行相比,同一时刻开始的并行执行有时只需花费一半的时间。

当一个MAPPING 中包含多个数据目标时,就会使得每个数据库连接去处理多个不同地数据库操作语句,有时会影响这个数据目标的性能,有时又是那个。

请想一下,在这情况下,INFORMATICA (包括其他的任何工具)都很难进行BULK(并行)操作,即使在SESSION中已经设定了BULK 属性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CURRVAL 是 NEXTVAL 加上“增量”值。当 NEXTVAL 端口已连接下游转换时,您通 常只需要连接 CURRVAL 端口。当行输入连接到 CURRVAL 端口的转换时, PowerCenterServer 会传递最后创建的 NEXTVAL 值加 1。
16
常用属性介绍: Start Value 属性:已生成序列的开始值。如果勾选“Cycle”,当序列达到结束值时循环 回此值。 Increment By 属性:增量值。默认值为 1。 End Value 属性:结束值。如果序列值达到此值,但未勾选“Cycle”, 则Session 将失 败。 Current Value 属性:序列的当前值。 Cycle 属性:是否循环。(勾选后会按顺序生成序列,重新执行序列不会重复,未勾选 时,重新执行序列会产生重复值) Number of Cached Values 属性:一次高速缓存的序列值数。当多个会话使用相同的可 再 用序列生成器时,使用此选项可以确保每个会话收到唯一的值。 Reset 属性:如果勾选,则每个Session 会初始当前值。
10
Union组件
11
作用: 合并多个数据源到一个结果集。与执行“UNION ALL”SQL 语句结果相似,联合转换不会 删除重复行。
使用规则:
可以创建多个输入组,但只能创建一个输出组。所有输入组和输出组均必须具有匹配的 端口。所有组中的精度、数据类型和标度必须相同。 联合转换不会删除重复行。要删除重复行,您必须添加另一个转换,例如Router 或 Filter转换。 不能使用以Union 组件作为上游的序列生成器或更新策略转换。 联合转换不会生成事务 。选项卡设置: “Groups”选项卡。您可以创建和删除输入组。在“Ports”选项卡上能显示创建了的组。
本组件一次只能连接两个源,如果有多个源就使用多个该种组件,直 Generator组件
15
作用:生成序列数值。可以使用它创建唯一的主键值、替代缺失的主键或在一定有序数字 范围内循环。 Sequence Generator 控件提供两个输出端口:NEXTVAL 和 CURRVAL: NEXTVAL 连接 NEXTVAL 至多个转换,从而为每个转换中的每行生成唯一的值。通过将 NEXTVAL端口连接至转换或目标以生成序列号。连接 NEXTVAL 端口至下游转换,从 而生成基于当前值和增量属性的序列。 CURRVAL
23
常用属性: Lookup SQL Override: 只能在cache enable 的情况下才能用,另外不要输入ORDER BY 子句,即使输入INFORMATICA 也会产生ORDER BY 子句 Lookup Caching Enabled:如果选中,查询一次表,以后的记录都从缓冲中去查询; 如果不选,每条记录都从数据库中查询一次
“Group Ports”选项卡。您可以创建和删除输入组的端口。在“Ports”选项卡上能显示
创建了的端口。
12
Joiner组件
13
作用:连接查询 指定非重复值少的表作为Master表可以提升性能,默认情况下,第一个加入的数据源是 Detail; 只支持相等连接,当使用多个连接端口时,连接的顺序对性能有影响; 连接端口如果含有NULL值,连接不会成功; Joiner一次只能连接两个数据源,如果有多个数据源要进行连接,使用多个Joiner; Joiner可以连接来自同一个Source的数据流(自连),有两个方法:如果Joiner选择了 Sorted Input属性,可以用一个Source Instance来实现,否则就需要Source的两个 Instance; 注意:在Join Type中选择好你需要的类型。 如果你选择Normal Join 将会严格匹配记录。 如果你选择Master Outer Join 会把Detail Source表中的记录全部选出来。 如果你选择Detail Outer Join 会把Master Source表中的记录全部选出来
Passive组件流入流出组件的行数不发生变化 例如:Expression、Lookup组件
Active组件流入流出组件的行数会发生变化
例如:Aggregator、Router、Filter组件
3
Source Qualifier组件
流入组件的数 据项 在日志中显示 详细级别
Source Qualifier组件中的过 滤条件设置
7
Aggregator组件
8
作用:对多组记录执行聚合计算。 用法:将需要聚合运行的字段拖曳到Aggregator 组件,双击组件,在 Port 选项卡中,勾选要分组的列,新增输出端口,编辑聚合运算表达 式。与sort 组件联合使用可提高性能。 对于聚合组件来讲,肯定是要有至少一个分组的字段,对此字段勾选【 GroupBy】选项,对于要进行聚合计算的数值型表达式,选中【 Expression】,点击向下的箭头,会出现标记表达式的对话框,在这 个对话框中可以进行sum、avg、max、min等聚合运算。 可以使用该组件可以进行汇总计算,如平均值和求和等。Aggregator transformation和Expression transformation不一样,在 Aggregator transformation中执行计算是要分组的。Expression transformation只允许你执行计算在row-by-row的基础上的。当你使 用transformation建立汇总表达式的时候,使用条件语句来过滤行, 比SQL语句要灵活的多。
4
作用: 如果添加了关系数据库中的表或平文件作为Source,需要连接Source Qualifier 组件,才 能从源表中读取出数据(非XML)。Source Qualifier代表了PowerCenter Server在运行会 话时读取的数据行。 常用属性: Sql Query 属性:编辑SQL 脚本,该属性将会覆盖默认查询,即会覆盖以下几个属性。 User Defined Join 属性:定义内连接或外连接 Source Filter 属性:即添加WHERE 条件子句至默认的SQL 查询,实现过滤数据。 Number Of Sorted Ports 属性:排序的字段个数,大于0 时即添加order by 子句至默认 的SQL 查询。 Tracing Level 属性:共有四级,表示log 的复杂程度。 Select Distinct 属性:选中表示去除重复记录,即添加SELECT DISTINCT 语句至默认的 SQL 查询。 Pre SQL 属性:读取源之前在源数据库上运行的会话前SQL 命令。 Post SQL 属性:写入目标之后在源数据库上运行的会话后SQL 命令。
24
在实际的开发过程中,对于Lookup transformation中Cache属性的设置,可以 总结出这么几条经验: 对于表记录较少的表,总是推荐使用Cache.对于记录条数达到数百万条的大表 而言,使用Cache并不总是正确的方式,因为创建Cache文件所付出
的代价可能要超过你从Cache文件中快速返回结果所获 得的收益。只有在大表不能建立索引的情况下我们才对 大表使用Cache.一对于大表而言,如果你能够使用索引,就不必建 立Cache
21
Lookup组件
22
作用:从关系型的表、视图或者同义词中根据lookup 条件查询lookup port,返 回查询结果,供mapping 中的其他控件使用或者插入到目标表。
包括已连接和未连接查找两种方式。从数据库表中,按条件查找相关的值并 且传送给其他的对象。
Connected:直接从其他控件获得输入信息;可以使用静态或者动态的Cache;只缓 冲mapping 中用到的port;每条记录可以返回多个column,并且能够插入到动态Cache 中;查询条件无匹配时,返回所有输出port 的默认值,如果使用动态Cache, Informatica Server把记录毫无改变的保留在Cache 中;支持用户定义的默认值;返 回多个输出值到另一个控件中 Unconnected:间接的从其他控件的:LKP 表达式的结果来获得输入信息;只能使用 静态Cache;缓冲所有的port;每条记录只能返回一列;查询条件无匹配时,返回NULL; 不支持用户定义的默认值;将返回值输出到定义:LKP 表达式的控件中
1
Informatica_组件使用及优化
2
PowerCenter Designer组件研究
组件分为Passive组件和Active组件,Passive组件流入流出组 件的行数不会发生变化,expression组件就属于Passive组件; Active组件流入流出组件的行数会发生变化,例如aggre组件 。
9
例如:你使用如下的表达式来计算出所有commissions大于QUOTA的 员工总的commissions:
SUM( COMMISSION, COMMISSION > QUOTA ) 你也可以使用非汇总函数在汇总表达式中。例如下面的表达式: IIF( MAX( QUANTITY ) > 0, MAX( QUANTITY ), 0)) 您可以输入任何有效的转换表达式。例如,以下表达式将计算所有收入超过 50,000 美元 的员工的平均薪水: SUM(SALARY, SALARY > 50000 )
Lookup Policy on Multiple Match:确定在uncached 和static cache 的情况下如何处
理查询得到的多条记录,可以取得第一条、最后一条或者是报错;在dynamic cached 的情况下,如果查询得到多条记录,会报错 Dynamic Lookup Cache:当把经过的记录插入到目标表的同时,插入或者更新cache 里面的记录
17
Rank组件
18
作用:排序记录,只输出最顶层或最底层的一定记录数。 用法:在Port 选项卡中,在“R”列选择要排序的列。类似于 Aggregator 组件,Rank 组件允许您对信息分组
相关文档
最新文档