Informatica _组件使用介绍及优化
- 格式:ppt
- 大小:1.50 MB
- 文档页数:25
常用组件使用方法表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 数据整合分为三类数据集成,即下游集成、中游集成和上游集成下游集成:指数据仓库,显著特点是,从数据流的角度看,数据仓库的主体功能是所有应用系统的下游,所有数据都会流向数据仓库中游集成:指数据交换平台,特点是,任何平台和它的关系都是对等的,它是这个数据枢纽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执行异常。
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组件介绍⼀、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,安装到了系统,表达式显⽰表达式函数为兰⾊,注释式灰⾊,引⽤的字符串式绿⾊。
一、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。
接下来的这些条目是INFOR MATICA 的高级调优建议。
请极其谨慎地处理,每次试用一条建议。
在没有试着使用初级和中级建议来提高INFORMATICA 的性能以前,不要尝试使用如下的高级建议。
这些建议的实施可能需要系统管理员(SA)、数据库管理员(DBA)以及网络管理员之类的专家级人物的配合才可以,所以要细心。
高级调优最重要的方面就是能够精确的查明瓶颈是什么,并且有能力定位这些瓶颈是如何引起的。
根据常理,这些高级建议放在最后,并且是在系统级上的建议。
还有其他的适用于数据仓库调优的高级建议,可以依据你的软硬件资源存在的问题去寻找相应的帮助。
1、将MAPPING 分解。
保留一个数据目标。
如果必要每个数据目标保留一个数据源。
为什么要这么做呢?在一个MAPPING 中减少数据目标的个数会大幅度的提高运行的速度。
基本的情况是这样的:每个MAPPING/TARGET 对应一个SESSION。
每个SESSION 都会建立它自己的数据库连接。
因为对每个目标表建立一个单独的数据库连接,数据库管理器(DBMS)能将插入、更新和删除等操作需求并行地处理。
在一个SESSION 中进行一个特定目的的操作也是很有帮助的(例如不在把以数据驱动地操作和直接插入操作混合地插入到同一个数据目标中)。
如果实际情况运行,每个SESSION 可以被放置到标记为“CONCURRENT”的BATCH(译者注:旧版本的术语)中。
如果能够这样做,MAPPING和SESSION 的并行执行的情况就很显而易见了。
关于并行处理的研究一再地表明:与直接将原本的操作单元简单地顺序执行相比,同一时刻开始的并行执行有时只需花费一半的时间。
当一个MAPPING 中包含多个数据目标时,就会使得每个数据库连接去处理多个不同地数据库操作语句,有时会影响这个数据目标的性能,有时又是那个。
请想一下,在这情况下,INFORMATICA (包括其他的任何工具)都很难进行BULK(并行)操作,即使在SESSION中已经设定了BULK 属性。
Infa性能调优大多我们运用的工具都会提到一个共同的问题------性能调优。
什么是性能调优,每个人都有自己的一个定义,我比较喜欢的一个定义就是:性能调优就是尽力去消除系统中存在的性能瓶颈。
这是一个循环往复的过程,首先找到性能瓶颈,然后采取各种方法尽力消除它,然后寻找下一个性能瓶颈,然后消除它,循环往复,直到性能达到预期目的为止。
比较喜欢这个定义在于它告诉我们,性能调优没有一个最终的答案,每一次优化只要达到我们的期待的结果即是优化完成。
大多我们运用的工具都会提到一个共同的问题------性能调优。
什么是性能调优,每个人都有自己的一个定义,我比较喜欢的一个定义就是:性能调优就是尽力去消除系统中存在的性能瓶颈。
这是一个循环往复的过程,首先找到性能瓶颈,然后采取各种方法尽力消除它,然后寻找下一个性能瓶颈,然后消除它,循环往复,直到性能达到预期目的为止。
比较喜欢这个定义在于它告诉我们,性能调优没有一个最终的答案,每一次优化只要达到我们的期待的结果即是优化完成。
性能优化应该从整个系统上去规划,使系统能有一个理想的性能平衡。
换句话说就是使系统中的各个部分:应用软件、数据库、硬件资源共同达到一个性能的最优化,让各部分资源能用自己最擅长的一面最大程度的提升系统性能,最终达到一个系统级的性能平衡。
在此我们将对Informatica性能优化做一个系统的介绍,而其中也在一定程度上运用系统性能平衡的规则进行调优指导。
在此我们将按调优的一个通用的顺序进行介绍,或者说是一个调优Guideline, 即首先定位性能瓶颈,其次进行性能调优,最后介绍一些调优经验。
一、性能瓶颈性能调优时,首要的任务即是确定性能的瓶颈所在。
在对Informatica进行瓶颈确定时,我们应首先排除是否特殊情况,即从当时网络、数据库、服务器是否运行正常、是否忙等情况排除,当确认是普通情况后,我们便可以按以下步骤进行性能瓶颈确定。
1.Target确定瓶颈是否发生在ETL中的L上。
Informatica使用说明(图解)唾沫星冲锋枪 2013-4-22目录前言 (3)第一篇环境搭建 (3)服务器 (3)准备 (3)安装 (3)配置 (17)客户端 (23)准备 (23)安装 (24)介绍 (28)第二篇开发应用 (28)Repository Manager (28)环境介绍 (28)配置目录 (31)Designer (33)环境介绍 (33)配数据源 (34)引入数据源 (36)引入数据目标表 (38)制作Mapping (40)WorkFlow Manager (43)制作session (43)配置服务器数据源 (44)配置session源 (46)配置session目标 (47)制作workflow (48)执行workflow (50)WorkFlow Monitor (50)第三篇监控维护 (51)基本信息查看 (51)运行时间查看 (51)Session日志查看 (52)Workflow日志查看 (52)结束语 (53)前言个人从事ETL方面工作多年,各种工具都有一定了解,POWERCENTER是较为优秀的产品之一。
POWERCENTER是C/S模式,客户端开发服务器运行,本文主要介绍POWERCENTER 基本使用部分,详细的各个组件使用可以查阅相关帮助文档。
第一篇环境搭建服务器准备因为INFORMATICA把配置信息和开发的ETL过程信息都保存在资料库里,所以要预先准备一个数据库资料库。
本文采用oracle做资料库,名称INFO用户INFO密码INFO,配置好数据库的监听。
安装找到软件SERVER目录下的install.bat运行。
POWERCENTER的授权文件是按数据库接口出售的,支持数据库越多价格越高。
这里请注意配置,之前准备好的数据库资料库。
安装完成后可以查看一下服务项里面是否正常。
安装补丁。
因机器不同选择相应的补丁版本,如64位server系统需要补丁。