1InformaticaPowerCenter培训夏凯2009-01电话:13439473732MSN:xiakaicd@msn.com2第一天•产品体系介绍•产品安装配置•系统管理介绍•开发六大步骤•数据转换调试3INFA产品线4INFA支持情况PowerCenter选件丰富的ETL功能Real-Time实时功能Partitioning分区功能HighAvailability高可靠性功能Pushdown功能EnterpriseGrid网格功能Team-basedDevelopment团队开发功能MetadataExchange元数据交换功能UnstructuredData非结构化数据功能Visio模板Mapping生成器功能DataFederation数据联邦功能DataProfiling数据质量探查功能异构数据源,异构目标实现多种缓慢变化维全局变量及参数,参数文件局部变量,前后记录比较条件汇总异构数据源关联行/列转换静态、动态Lookup支持ETL事务处理自定义SQLPreSQL和PostSQL复用组件复用Mapping调用存储过程调用外部用户自定义过程可视化Debug强大函数支持、丰富转换语言数据源为文件列表SessionRecovery基于多目标表约束装载错误数量控制FTP源和FTP目标ETL任务分区增量汇总测试装载BulkLoadingExternalLoader(Oracle、DB2.)复用Workflow功能丰富的Workflow控制任务串行、并行控制基于时间、事件和指示文件触发任务Workflow中调用OS外部命令Workflow中调用Email多ETLServer协同工作……Informatica8INFA8系列产品功能情况5InformaticaPowerCenter应用架构Informatica客户端数据源ODBCNATIVE目标ODBCNATIVEDomainAdministratorConsoleUNIX(AIX,HPUX,Solaris,Linux)WindowsIntegrationServiceRepositoryService----------------------------RepositoryAgentPowerCenter服务端TCP/IPNATIVENATIVE6PowerCenterServer和数据移动数据源源数据目标已转换数据资料库PowerCenterServer来自元数据的指令PowerCenterServer、资料库、源和目标之间的处理路径7PowerCenter产品组件•服务端组件•客户端组件InformaticaService:PowerCenter服务引擎IntegrationService:数据抽取、转换、装载服务引擎RepositoryService:知识库Service,管理ETL过程中产生的元数据AdministratortionConsole:用于知识库的建立与维护RepositoryManager:知识库管理,包括安全性管理等Desinger:设计开发环境,定义源及目标数据结构;设计转换规则,生成ETL映射WorkflowManager:合理地实现复杂的ETL工作流,基于时间、事件的作业调度WorkflowMonitor:监控Workflow和Session运行情况,生成日志和报告8第一天•产品体系介绍•产品安装配置•系统管理介绍•开发六大步骤•数据转换调试9产品安装与样例安装•产品安装•服务器安装•客户端安装•详见安装手册•样例安装•数据库准备•RDBU(资料库数据库)•SDBU(样例源数据库)•TDBU(样例目标数据库)•BDBU(样例参考数据库)•样例数据准备•样例参考导入10第一天•产品体系介绍•产品安装配置•系统管理介绍•开发六大步骤•数据转换调试11系统管理•InformaticaServer管理••DomainManager•NodeManager•RepositoryServiceManager•IntegrationServiceManager•LicenseManager•资料库内容管理•RepositoryManager•FolderManager•PrivilegeManager•……12第一天•产品体系介绍•产品安装配置•系统管理介绍•开发六大步骤•数据转换调试13开发六大步骤示意图①S③②T④ST⑤WF⑥M①定义源②定义目标③创建映射④定义任务⑤创建工作流⑥工作流调度监控Designer:①~③WorkflowManager:④~⑤WorkflowMonitor:⑥14第一步:定义源引入源的类型•Relationaldatabase•Flatfile•COBOLfile•XMLobject•Application源分析器InformaticaServiceODBCMappedDriveNFSMountingLocalDirectorySaveMetaDataofSources:OPB_SRCOPB_SRC_OPB_SRC_FLDOPB_SRC_FLD_……15第二步:定义目标引入目标的类型•Relationaldatabase•Flatfile•COBOLfile•XMLobject•Application目标分析器SaveMetaDataofTargets:OPB_TARGOPB_TARG_OPB_TARG_FLDOPB_TARG_FLD_……ODBCMappedDriveNFSMountingLocalDirectoryInformaticaService16第三步:创建映射目标源转换组件17第四步:定义任务SessionTask工作目录Task工作区18第五步:定义工作流19第六步:工作流调度监控20第一天•产品体系介绍•产品安装配置•系统管理介绍•开发六大步骤•数据转换调试21数据转换调试目标装载情况经过每个调试的数据流FlashingyellowSQLindicatorDebugger模式SolidyellowarrowCurrentTransformationindicator调试日志22•组件介绍•Expression组件•Filter与Router•Joiner与Lookup•Aggregator组件•UpdateStrategy组件第二天23组件列表•SourceQualifier:从数据源读取数据•Expression:行级转换•Filter:数据过滤•Sorter:数据排序•Aggregator:聚合•Joiner:异构数据关接连接•Lookup:查询连接•UpdateStrategy:对目标编辑insert,update,delete,reject•Router:条件分发•SequenceGenerator:序列号生成器24组件列表•Normalizer:记录规范化•Rank:对记录进行TOPx•Union:数据合并•TransactionControl:对装载数据按条件进行事务控制•StoredProcedure:存储过程组件•Custom:用户自定义组件•HTTP:组件•Java:Java自编程组件其它应用组件25组件类型•Passive组件•流入流出组件的行数不发生变化•例如:Expression、Lookup、HTTP组件•Active组件•流入流出组件的行数会发生变化•例如:Aggregator、Router、Filter组件×PA√26函数分类•聚合函数•字符串函数•转换函数•数据清洗函数•日期函数•编码函数•财务函数•数值函数•数学函数•特有函数•判断函数•用户自定义函数27函数列表28•组件介绍•Expression组件•SourceQualifier、Filter与Router•Joiner与Lookup•Aggregator组件•UpdateStrategy组件第二天29Expression组件•组件功能•基于行级的数据项赋值、修改、计算•在同行记录中可新增、减少数据项•组件类型•Passive组件•应用范围•数据类型转换,例如Expression:to_date(Port1,’yyyymmdd’)•数据项计算,例如Expression:(Port1+Port2)/Port3•新增变量,例如Expression:i=i+130Expression组件当数据项为空时的默认值流入组件的数据项流出组件的数据项组件中定义的变量31练习一:Expression组件•描述•将原始客户信息记录转换成合格标准的数据导入到暂存区。•源表:•customer_east.txt•customer_west.txt•customer_central.txt•目标:•TDBU.STG_CUSTOMERS•要点•姓与名合并为姓名;•电话号码转换成易读格式的电话号码,如:(466)766-283;•性别转换,将F转换成FEMALE、M转换成MALE、其它转换成UNK;•年龄分段,20岁以下、20~29、30~39、40~49、50~60、60岁以上;•解决方案•详见m_LAB_0132•组件介绍•Expression组件•SourceQualifier、Filter与Router•Joiner与Lookup•Aggregator组件•UpdateStrategy组件第二天33SourceQualifier、Filter组件•组件功能•对流入组件中的记录数据进行过滤•类似于关系型数据库Where应用•与SourceQualifier的过滤功能区别在执行位置上•组件类型•Active组件•应用范围•数据过滤34SourceQualifier、Filter组件流入组件的数据项在日志中显示详细级别SourceQualifier组件中的过滤条件设置注意:在SourceQualifier中的UserDefinedJoin、SourceFilter、NumberofSortedPorts中定义了SQL条件,那么,在SqlQuery中就不要在重写相关的SQL条件,否则,将不会生效。35Router组件•组件功能•对流入组件中的记录数据按照条件进行分发•类似于Java语言中的Switch语句•组件类型•Active组件•应用范围•数据分发36Router组件流入组件的数据项37练习二•描述•将暂存区的客户信息按照性别分别导入到男、女、性别不明三张表内。•源表:•TDBU.STG_CUSTOMERS•目标:•TDBU.STG_CUSTOMERS_FEMALE•TDBU.STG_CUSTOMERS_MALE•TDBU.STG_CUSTOMERS_UNK•要点•偿试用Filter组件多种方法对目标进行装载•解决方案•详见m_LAB_0238练习三•描述•将暂存区的客户信息按照性别分别导入到男、女、性别不明三张表内。•源表:•TDBU.STG_CUSTOMERS•目标:•TDBU.STG_CUSTOMERS_FEMALE•TDBU.STG_CUSTOMERS_MALE•TDBU.STG_CUSTOMERS_UNK•要点•使用Router组件对数据进行分发•比较Filter与Router各种方法的应用特点、性能•解决方案•详见m_LAB_0339•组件介绍•Expression组件•SourceQualifier、Filter与Router•Joiner与Lookup•Aggregator组件•UpdateStrategy组件第二天40Joiner组件•组件功能•对异构数据进行关联(同构关联用SourceQualify组件)•类似于SQL中的Join语句•组件类型•Active组件•应用范围•2个异构数据类型的表关联41同构Joins与异构Joins同构Joins•同种结构数据•SourceQualify组件•从源直接Joins•n个源可用1个SQ组件•在源中先定义连接关系异构J