Service主讲人:黄祝康日期:2014-2-281Informatica基础开发目录1.客户端简介2.ETL抽取前准备3.ETL任务设计步骤4.简单实例演示233Powcenter-组件总体介绍数据抽取组件1、SourceQualifier:数据源编辑组件2、文本文件导入3、XML文件导入4、JOIN组件:关联组件数据转换组件1、Normalizer:行转换列组件2、Expression组件:表达式组件3、Aggregator组件:聚合组件4、Filter组件:过滤组件5、Router组件:路由组件6、Sorter组件:排序组件44Powcenter-组件总体介绍数据转换组件7、Union组件:联合组件8、Lookup组件:查找组件9、StoredProcedure组件:调用存储过程组件10、SequenceGenerator组件:生成序列号组件11、Input/Output组件:输入/输出组件数据装载组件1、UpdateStrategy组件:插入/更新/删除/拒绝组件55数据抽取组件-SourceQualifier(一)功能:根据查询SQL从关系表或文本文件查出所要记录;特点:1、每个数据源后面都会带一个SourceQualifier组件;关系表源文本文件源SourceQualifier组件SourceQualifier组件66数据抽取组件-SourceQualifier(二)2、连接同构的源数据,可以连接多个表;异构数据源,需要使用JOIN组件;SourceQualifier组件77数据抽取组件-SourceQualifier(三)3、定制SELECT语句来读取源数据,去除重复记录、增加过滤条件、关联条件等;88数据抽取组件-SourceQualifier(四)4、可以在执行数据抽取之前(PreSQL)或者执行数据抽取(PostSQL)之后对数据进行处理(可以调用SQL脚本、调用存储过程);PreSQLPostSQL99数据抽取组件-文本文件导入(一)功能:文本文件源数据导入特点:1、选择Source-ImportfromFile导入文本文件源数据的数据结构,分隔符可以自己定义;定义分隔符1010数据抽取组件-文本文件导入(二)2、指定文本文件所在的目录,可预览数据;1111数据抽取组件-文本文件导入(三)3、不支持Excel数据导入,Excel文件要另存为扩展名为csv的文件才可以导入;1212数据抽取组件-XML源文件导入功能:XML源数据导入特点:1、选择Source-ImportXMLDefinition导入XML源数据的数据结构;2、在Session指定XML文件所在的目录;XML源文件1313数据抽取组件-Joiner(一)功能:实现同构或者异构源数据关联;特点:1、一次只能关联2个源数据,如果是N个源数据,就要N-1个Joiner进行关联;2、文本文件和关系表源数据关联、不同数据库的关系表源数据关联;3、对数据进行排序再进行关联;1414数据抽取组件-Joiner(二)4、可以指定关联类型,关联类型有NormalJoin、MasterOuterJoinDetail、DetailOuterJoin、FullOuterJoin4种;指定关联类型1515数据转换组件-Normalizer(一)功能:行转换成列;特点:1、只能实现行转列,如果要实现列转换成行(要用SourceQualifier组件定制SELECT实现);1616数据转换组件-Normalizer(二)2、在NormalizerTAB里面进行设置Occurs;表示记录出现的次数1717数据转换组件-Expression组件(一)功能:执行非汇总的计算特点:1、在Port中“I(表示Input输入)”“O(表示Output输入)”“V(表示Variable变量)”,如果“O”打勾并在Expression中设置默认值表示设置常量;设置常量1818数据转换组件-Expression组件(二)2、可以设置局部变量,变量在该mapping中有效,“V(表示变量)”端口打勾,并设置变量表达式;设置变量表达式1919数据转换组件-Expression组件3、在表达式编辑器中可以编写类SQL脚本,如IIF、DECODE、SUBSTR等、可以校验表达式是否准确;校验表达式2020数据转换组件-Aggregator组件(一)功能:汇总计算特点:1、求平均值AVG、求和SUM、最大值MAX、最小值MIX、统计COUNT等;Aggregator组件2121数据转换组件-Aggregator组件(二)2、跟SQL的groupby区别,SQL里面除了不进行汇总计算的字段都要跟在groupby后面,但该组件只要求选择分组的字段。双击agg_CALC_PROFIT_and_MARGIN组件,选择Ports的TAB页;使用GroupBy进行计算2222数据转换组件-Filter组件(一)功能:根据条件过滤不符合条件的行。特点:1、过滤条件就是可以返回真或假的表达式,如果表达式的值为真记录就进入下一个组件,为假就过滤;过滤组件2323数据转换组件-Filter组件(二)双击FILTER组件打开组件的PropertiesTAB设置过滤条件设置过滤条件2424数据转换组件-Router组件(一)功能:类似于FILTER组件,都是过滤不符合条件的行,但是FILTER只有一组条件,而Router可有一个或者多组条件。特点:1、一个输入,有多个输出;Router组件2525数据转换组件-Router组件(二)2、该组件的功能类似于SQL的casewhen语句;3、要在Groups里面设置分组条件;设置3个分组条件2626数据转换组件-Sorter组件(一)功能:对数据行进行排序。特点:1、在一个mapping里建立该组件,指定多个用来排序的端口;Sorter组件2727数据转换组件-Sorter组件(二)2、指定升序或者降序;指定升降序2828数据转换组件-Union组件(一)功能:把不同种类或同种类的源合并到一起,相当于SQL语句的UNIONALL。特点:1、可以设置多个输入,只能一个输出;Union组件2929数据转换组件-Union组件(二)2、要求源数据的字段数一样,字段类型一样;3、源数据可以是多个,要求对源数据进行分组;3030数据转换组件-Lookup组件(连接一)功能:获取一个相关联的值,类似于数据库的子查询。特点:1、有连接和未连接之分;2、Lookup表可以是数据库表,也可以是文本文件;连接的Lookup未连接的Lookup3131数据转换组件-Lookup组件(连接二)3、在PortsTAB为设置输入端口、输出端口、条件端口;R表示返回值端口L表示查询条件3232数据转换组件-Lookup组件(连接三)4、在ConditionTAB为设置查找条件;条件表达式输入字段查找值3333数据转换组件-Lookup组件(连接四)5、输出字段流向下一个组件;输入字段输出字段查找字段3434数据转换组件-Lookup组件(连接五)6、在PropertiesTAB为定制Select查询;定制Select3535数据转换组件-Lookup组件(未连接一)功能:返回一个相关联的值,类似于数据库的函数功能。特点:1、未连接的Lookup组件不需要同mapping里面的组件进行连线,PortsTAB设置:输入、输出、条件端口,返回值端口;必须有返回值3636数据转换组件-Lookup组件(未连接二)2、可以定制返回值的Select查询;定制Select3737数据转换组件-Lookup组件(未连接三)3、未连接的可以被表达式组件调用,调用方式:冒号+LKP+Lookup组件名称+参数;调用未连接Lookup组件3838数据转换组件-Lookup组件(未连接四)4、输出字段的值流向下一个组件;调用未连接Lookup组件输出字段3939数据转换组件-StoredProcedure组件(带参数一)功能:调用存储过程(带参数)。特点:1、在数据库中建立存储过程,在DesignMapping导入存储过程;4040数据转换组件-StoredProcedure组件(带参数一)2、连接存储过程的输入字段(表示传入的参数)、输出字段(表示返回值);存储过程组件4141数据转换组件-StoredProcedure组件(带参数一)3、在PortsTAB为设置输入端口、输出端口、返回值;4242数据转换组件-StoredProcedure组件(不带参数)功能:调用存储过程(指不带参数)。特点:1、在数据库中建立对应的存储过程;2、在session中的PreSQL/PostSQL选项调用存储过程,表示session执行之前或执行之后调用存储过程;4343数据转换组件-SequenceGenerator组件(一)功能:生成序列号。特点:1、序列号组件默认有NEXTVAL、CURRVAL两个字段,只有输出端口,没有输入端口;4444数据转换组件-SequenceGenerator组件(二)2、设置开始值,每次递增的值;3、设置循环使用序列号,当序列号当前值到达最大值时,重置序列号为初始值;设置循环4545数据转换组件-SequenceGenerator组件(三)4、设置重置初始值,指在每运行完一次后,序列号自动重置为初始值。设成重置4646数据转换组件-Mpplet(一)功能:传入输入值,传出输出值,做成可多次调用的mapplet。特点:1、Input/Output组件用来做成重用Mpplet组件供其它Mapping调用;调用Mpplet4747数据转换组件-Mpplet(二)2、右键Mpplet组件打开该组件,Input用来接收值的输入,Output用于值的输出,Input和Output之间可以有很多的转换过程;3、Input不能直接接收源数据的输入,Output不能直接把数据导入数据库;Output组件Input组件4848数据装载组件-UpdateStrategy组件(一)功能:处理一个被标记的行,可以插入、删除、更新、拒绝。特点:1、该组件要和Lookup、Expression组件一起配合使用;Update组件4949数据装载组件-UpdateStrategy组件2、根据前面组件的判断标志进行插入、更新、删除;设置对目标表的操作5050Powcenter-定义变量和参数(mapping)功能:用来代替一个mapping多次用到同一个值特点:1、变量的值在运行过程会发生变化;参数是一个常量值,在运行过程中不能修改的值。定义变量定义参数5151Powcenter-引用变量和参数(mapping)功能:在表达式中引用变量和参数引用变量引用参数简单实例演示5253ThankYou!