会informatica etl能赚多少钱

博客访问: 11767
博文数量: 7
注册时间:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
原创】whyu 小记之 Informatica Update 机制详解
好久没有发点东西了,最近有点时间,写了这篇文章,希望能给大家一点帮助。详细的也可以到Informatica 作为工具,Update是其很重要的一个特性。也正因为如此,我们会发现在Informatica工具的很多地方都会有Update的相关设置,许多时候给大家都造成了很大的迷惑,不知道谁先谁后,谁的优先级高,或者具体的作用是什么,希望能借此文给大家一个清晰的概念。& && & Informatica 的Update过程简单说,就是给每条设置一个Delete,Insert,Update或者Reject的标志的过程,我们统称为设置更新标志位的过程,最终调度程序将根据标志位来进行具体的更新操作执行。以下根据标志的设置顺序进行详细说明。 Init & && &对于任何一个Mapping的每一条数据, 初始默认标志为Insert。即在整个过程中,如果没有任何更改标志位的操作,这条数据将作Insert操作。 在Mapping中使用了Update Strategy当在Mapping中使用了Update Strategy时,则根据DD_UPDATE, DD_INSERT, DD_DELETE等可以将更新标志位的值由Insert更改为Update,Insert,Delete等。 Treat Source Rows As& && && & 在Session属性设置里,通过设置Treat Source Rows As 的值,可以再一次对标志位进行更新,也就是说无论Mapping里设置了何种更新标志,在此,又可以进行一次更改。如果选择了Insert,Update, Delete三种方式,则无论在Mapping中如何修改更新标志位,在此将统一全部更改为Insert,Update,Delete。选择Data Driven时,系统将不对标志位做任何修改,维持原来的标志位值。& &4. Target Properties最后一个对更新产生影响的地方,即是Target的属性设置。它的最初默认设置即是图中所示,Insert, Update as Update, Delete三个选项被选中。这儿就是我们所说的最终调度执行的依据。默认的3个选中选项,表明当Session运行的时候,碰到Insert标志的,即做Insert操作,碰到Update标志的即做Update操作,碰到Delete标志的就做Delete操作。当然, 我们可以把钩取消掉,这样Informatica运行时,碰到相应标志的数据,将不做任何操作。例如,把Insert的钩取消掉,那Session运行过程中,将对所有标记为Insert的数据不做任何操作。这儿需要特别解释的便是Update的方式,它具有三种方式可以选择。在此将对这3种方式,做一个详细的说明。& && &&&首先,需要特别说明的是,这3种方式是互斥的,即同时只能选中一个。 Update as Update : 对于所有被标记为Update的数据,进行Update操作Update as Insert:& & 对于所有被标记为Update的数据,全部进行Insert操作,不做Update操作Update else Insert: 对于所有被标记为Update的数据, 先做Update操作,然后对没有Update成功的数据,再进行Insert操作。假设这3条数据在前面所述步骤中被设置为Update标志, 而我们的Target Properties设置为Update Else Insert,此时的Informatica将如何运行呢。 &&数据1,2,3将首先进行Update操作,而1,2根据主键找到了相应的数据进行Update,而3则没有找到,Update失败,然后对于3, Informatica将采取Insert方式进行操作,最终结果便是(图)最后我们可以用一个图来说明Informatica整个更新的过程: (图)&&在初始化时,我们的更新标志都被默认设为Insert,而其中第二和第三步都可以对标志位进行更改,也就是说前面的所有3个步骤就是一个标志位的设置过程。 &&最后一步,则是具体的执行操作。根据设置的不同,执行的过程会采取几种不同的方式执行。
阅读(1450) | 评论(0) | 转发(0) |
下一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。Pentaho Kettle vs Informatica PowerCenter
After having a successful presentation to a
major car manufacturer in China, I have decided to upload my presentation so that other people may benefit and recommend it to their bosses.In the presentation I research Talend, Pentaho, Informatica and Inaport(CRM data importer).So the presentation is biased to Pentaho (and the Use Cases inside the presentation are from the Pentaho website).Please enjoy and distribute.
Additional Posts查看: 3330|回复: 6
informatica行转列问题
论坛徽章:0
如何用informatica 解决行转列的问题,请给详细介绍一下,本人不熟悉,做好截图。谢谢啊 急~~~~~~~~~~~~~~~~~
&020100&,&张三&
类别1-语文成绩;2-数学成绩;3-化学成绩)
A与B通过“学生号”关联,应带是得到三条数据,我要只插入C表1条记录
&020100&,&张三&,76,87,95
论坛徽章:1
lz&&可以考虑写存储过程 然后调用存储过程呢
论坛徽章:51
有个组件,忘记叫啥名字了,好像是form...的,专门做这个的,几个月没用INFO,搞忘记了
招聘 : 论坛徽章:113
奶奶的,公司真恶心,回个帖都不让提交
(31.92 KB, 下载次数: 12)
10:52 上传
认证徽章论坛徽章:0
PC有个normalization的组件可以实现行列互转
论坛徽章:0
那个只能列转行吧?
论坛徽章:1
normalization的组件只能实现列转行,要实现行转列的话可以用聚合组件,如把月度数据转换成一年一行:SUM(decode(time,201201,value, null))
SUM(decode(YM,201202,value, null))....
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号informatica转换指南.pdf
扫描二维码,下载文件到手机
当前文件信息
浏览:185次
下载:36次
您的VIP会员已过期,是否续费?
用户应遵守著作权法,尊重著作权人合法权益,不违法上传、存储并分享他人作品。举报邮箱:
京网文[0号 京ICP证100780号大多我们运用的工具都会提到一个共同的问题性能调优。什么是性能调优,每个人都有自己的一个定义,我比较喜欢的一个定义就是:性能调优就是尽力去消除系统中存在的性能瓶颈。这是一个循环往复的过程,首先找到性能瓶颈,然后采取各种方法尽力消除它,然后寻找下一个性能瓶颈,然后消除它,循环往复,直到性能达到预期目的为止。比较喜欢这个定义在于它告诉我们,性能调优没有一个最终的答案,每一次优化只要达到我们的期待的结果即是优化完成。
性能优化应该从整个系统上去规划,使系统能有一个理想的性能平衡。换句话说就是使系统中的各个部分:应用软件、数据库、硬件资源共同达到一个性能的最优化,让各部分资源能用自己最擅长的一面最大程度的提升系统性能,最终达到一个系统级的性能平衡。
在此我们将对性能优化做一个系统的介绍,而其中也在一定程度上运用系统性能平衡的规则进行调优指导。在此我们将按调优的一个通用的顺序进行介绍,或者说是一个调优即首先定位性能瓶颈,其次进行性能调优,最后介绍一些调优经验。
&&&&&&&&&&&&&&&&&&&性能瓶颈
性能调优时,首要的任务即是确定性能的瓶颈所在。在对进行瓶颈确定时,我们应首先排除是否特殊情况,即从当时网络、数据库、服务器是否运行正常、是否忙等情况排除,当确认是普通情况后,我们便可以按以下步骤进行性能瓶颈确定。
&&&&&&&&&&&&&&&&&&&&&&&&Target
确定瓶颈是否发生在中的上。
在做调优过程中,我们发现绝大部分的系统瓶颈都会发生在
的写目标数据库这个过程中。对于我们大部分的系统来说,我们的目标均是数据库系统,此时我们可以在中将目标写方式直接改为,而此时如果系统性能得到了显著的提高,那我们可以确定写是我们的一个系统瓶颈。而如果系统性能没有什么提高,那说明写不是瓶颈,需要从其它方面确定瓶颈。
这是一个结果值它是每秒的条数但并不代表的问题
&&&&&&&&&&&&&&&&&&&&&&&&Source
确定瓶颈是否发生在中的上。
当确定写不是系统瓶颈后,我们可以查看是否瓶颈发生在读时。我们可以按以采用以下几种方法来进行确定。
在每个后增加一个,并把设置为,并比较修改前后的运行时间,如果前后运行时间没有什么变化,则我们可以确定读是瓶颈。
把复制出一个新的,修改为一个只有读操作的,删除中所有其它的,并把目标改为,如果运行时间和之前的差不多,那我们可以确定读是瓶颈。
最简单且最直接的方法,在中把拷贝出来,直接在中运行,并把其运行时间与运行时间进行比较,如果两者运行时间差不多,那我们可以确定读是瓶颈。
&&&&&&&&&&&&&&&&&&&&&&&&Mapping
确定瓶颈是否发生在中的上。
当我们经过,两个过程的确认后都没有发现瓶颈问题,或者说这两个部分
的性能调优存在很大的困难或者需要很大的代价,我们可以考虑进行的性能调
优。所谓也即我们所指的调优。
的性能瓶颈确定相对来说比较复杂。因为其涉及了所有我们可以运用到的。需要我们对的每个步骤及有较多的了解。
我们可以在每个前加一个,并将条件设置为,在保证没有数据的情况下运行,如果时间还是原来一样,表示我们的设计里存在瓶颈。
当确定中存在性能瓶颈,我们可以采用不同的方式进行最终的瓶颈确定。我们可以采用一般的二分法,排除法进行确定,当然也可以根据经验或具体业务操作的分析确定瓶颈。在此我们介绍一种利用本身的特性来确定性能瓶颈的方法。这种方式就是设置来确定瓶颈。
进行设置将有两个主要作用。当设置了这个属性后,我们可以在里看到运行时每个的详细的输入数据条数及输出数据条数,以及其它的统计信息。所以可以知道第一个作用即它是进行查错的一个重要参考。第二个作用即利用它所提供的性能统计信息确定性能瓶颈。
设置只需要在属性中选中选项,此时在中可以看到运行的详细情况,且这个统计的详细信息也会被存为文件。
这个统计信息在调优过程中主要用于、、的性能瓶颈确定。
当设置了该选项后,我们可以看到运行过程中,在
中有了统计数据,它详细记录了每个的输入、输出及错误条数。而对于以上所提到的几个则多了其它的统计信息。注意比较这几种,我们可以知道为什么要对这几种作性能统计。这几种都是的,且具有的(在此对作一个简单的解释。我们知道每个都有一个属性。即数据通过该模块时,将不会发生数据条数的改变,而则不同,输出条数不一定与输入条数相符,而这两个属性在我们设计时,作为的语法检测会起作用,简单的一个规则即从同源出来的数据,如果分为两条数据流,一条,另一条,最终不能再次将它们汇集到同一个模块中)。据有同样属性的的我们知道还有两个、。而大家打开这两个模块的属性即可发现,它们没有及两个选项,而我们的最主要的即是通过对这两个属性的调整进行性能调优。其中是用来存储信息的,是用来存储完整数据的。在运行的时同时创建及。而此处调优的原理即是调整大小,减少与的数据交换次数,以达到调优的目的。
以为例简单介绍一下如何从中找出性能瓶颈。
主要看其的指数,如果这些值大于,我们可以调整,使其减少并趋向于。指总共创建的数,则指使用已创建的次数。而这个次数也从另一方面指示了我们使用的次数。理论上来说当然是希望值越小越好,越大越好,这个值主要是受我们设置的字段影响,所以这个值的调优需要结合业务需求,选择最优的字段。
&&&&&&&&&&&&&&&&&&&&&&&&Session
当我们完成了、、的瓶颈确认后,如果还需要进一步的寻找调优的可能,
那就是级的瓶颈确定了。
而级的调优主要是对的参数的调整,以期达到进一步调优的效果。其中主要涉及到以下几个参数。
这几个参数每个参数的意义及其调优方式,将在下面调优过程中进行说明。
&&&&&&&&&&&&&&&&&&&&&&&&System
利用一些系统监控工具监控系统性能。整体对硬件、操作系统、数据库系统、
网络等进行系统级调优。在此不作具体说明。
&&&&&&&&&&&&&&&&&&&系统调优
&&&&&&&&&&&&&&&&&&&&&&&&&&&&性能平衡
性能平衡的调优更多的是需要靠经验及系统的熟悉进行调优。需要熟知系统所运行的、、网络、硬件系统、操作系统等信息。并且在此基础需要对目标的整个设计有详细的了解。通过全面的比较及分析,确定整个过程中几个较为耗用性能的步骤,例如:、、、等。我们可以考虑,是否把这些步骤进行拆分,把资源的占用进行平衡分配,一部分放到数据库完成,或者利用的机制把数据库的一些操作放到上进行。最终充分发挥各个方面的最强项,达到一个性能的最优平衡点。性能平衡也是我们在设计时应该遵循的一个规则。这个方式的运用需要一定的经验及技术要求,在此没有一些具体的方法和数值进行说明,只能给大家一个指导思想。所以我们知道在此基础上的调优会对原设计有较大的改动,但也会是一个最有效的调优过程。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&Target
当我们确定了系统瓶颈在写后,我们可以按以下步骤进行调优:
我们知道当目标表存在和时,会很大程度上影响我们的性能,而对此情况我们可以采用使其在的过程中失效的方式来提升性能。
具体做法可以采用把和语句分别写成,在每次运行的前后分别调用。或者将和语句写在里使其在每次的前后分别调用。最终达到提升性能的目标。
方式进行目标数据的,是提供的一种高性能的数据方式。它利用数据库底层机制,依靠调用数据库本身提供的来进行数据的加载。
使用方式时,调用进行,此方式将绕过数据库的记录,以此来提高数据库性能,因此方式也就不可能进行操作,也不可能使用数据库作操作。所以当进行这个属性设置时,需用平衡一下性能提升与系统数据恢复的重要性。
从的实现方式上我们即可以知道,方式主要是进行大数据量的操作时选用,换句话说就是不做。当设置了这个选项后,实际是调用了数据库的并忽略进行加载的。所以在这儿对方式也可进行调优设置,这就是我们需要调整的“事务提交数”了。的默认值是。所以可以调大这个值,以减少事务数,提升性能。需要说明的是这个调整只对和有用。和不受这个值影响,只与的大小有关系,一旦写满即进行提交。
因为方式只能用来做操作。而大家知道我们如果需要操作,在的的设置上需要设置成,当我们同时选择了两种设置,会有什么结果呢。如果你同时设置了和模式将自动切换采用方式进行。
默认到设置àààà
上面我们所提到的方式均是指方式下的调优。而除了在此基础上的调优,我们也可以直接利用数据库的工具并选用的方式进行数据的。
我们知道在中的设置中除了方式外还有其他几种方式,而我们现在所指的就是其中的方式。在此简单说明一下的实现方式,设置方式时,必须把目标设置改为的方式,这样做是因为工具读取数据时并不是采用的方式,而是直接的文件的读取。首先将需要的数据在上先生成,同时生成控制文件,数据一面写,控制文件启动操作,一面统一进行目标数据库的。时将先等写结束后才开始操作最终结束时,作为中间步骤临时生成的将不会被自动删除,所以在运行结束后,应注意手动及时备份或删除文件,确保有足够的磁盘空间大小。
版本不同需要。修改à
只作操作发生约束冲突将失败或者
在完成这些操作后,如果需要进一步调优,可以考虑对数据库性能的调优。而数据库性能的调优将主要由完成,在此不作多的说明
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:271941次
积分:4675
积分:4675
排名:第5002名
原创:180篇
转载:39篇
评论:238条
(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(4)(5)(5)(4)(4)(4)(4)(5)(4)(3)(4)(4)(4)(4)(2)(4)(4)(2)(7)(4)(6)(5)(2)(6)(1)(5)(4)(3)(4)(4)(4)(5)(9)(1)(11)(7)(11)(12)(1)(3)

我要回帖

更多关于 informatica是什么 的文章

 

随机推荐