Informatica PowerCenter平台 ETL开发规范 2. PowerCenter平台介绍
Informatica PowerCenter产品是Informatica公司推出的ETL开发工具,主要包括服务器端和客户端两部分组件:
? 服务器端
? Informatica Service:PowerCenter服务引擎,是PowerCenter的核心服务,其他服务
依赖于此服务。
? Integration Service:数据抽取、转换、加载服务,是PowerCenter ETL程序运行必不
可少的服务。
? Repository Service:元数据资料库服务,提供对PowerCenter所有元数据的存取管理
支持。
? 客户端
? PowerCenter Designer:Mapping设计开发环境,定义源及目标数据结构,设计转换规
则,生成ETL映射
? Workflow Manager:实现ETL工作流(包括Session、Task、Worklet、Workflow的开
发),基于时间与事件的作业调度
? Workflow Monitor:监控Workflow和Session运行情况,生成日志和报告
? Repository Manager:资料库管理,包括文件夹创建与删除、Mapping等ETL程序的导
入和导出、用户安全性管理等
? Repository Server Administrator Console:资料库的建立与维护,提供B/S访问方式
Page: 6 of 39
Informatica PowerCenter平台 ETL开发规范
Page: 7 of 39
Informatica PowerCenter平台 ETL开发规范 3. 环境介绍
3.1 概述
Informatica PowerCenter在项目中按用途划分,可以包括开发、测试、生产三套环境,每套环境都是按Client/Server方式部署的。
在每套环境都有独立的Informatica Service、Integration Service、Repository Service服务,并且资料库也分别部署,并且三套环境之间的网络是隔离的,互相不能访问。
说明:如非项目特别要求,需要遵循上述约定。
3.2 开发环境
Informatica PowerCenter开发环境主要用于ETL开发人员在项目开发阶段实现Mapping、Session、Workflow的开发、单元测试和联调测试。
对于开发环境的所有开发成果要求每天工作结束后对资料库所有文件夹做一次全备份。
3.3 测试环境
Informatica PowerCenter测试环境主要用于项目用户测试用途,其中的所有ETL程序均都需要从开发环境导入。此环境的ETL程序变更是受控的,不允许ETL开发人员在此环境直接修改ETL程序,特殊情况下可以在此环境调试程序,但也是严格受控的。
3.4 生产环境
Informatica PowerCenter生产环境主要用于支持投产系统的ETL运行,其中所有的ETL程序均需要从开发环境导入。此环境的ETL程序是不允许ETL开发人员直接修改的,必须由管理员和操作员导入。
3.5 数据库账号
数据库账号在Informatica环境中有两个地方会用到,一是在PowerCenter Designer开发mapping时需要连接到数据库读取源和目标表的结构定义,二是Workflow Manager中测试时需要定义数据连接,这写数据连接必须由管理员添加和修改。
Page: 8 of 39
Informatica PowerCenter平台 ETL开发规范 3.6 数据连接
在Workflow Manager要运行Workflow,必须为session指定其引用到的源和目标对应的数据库连接,而这些数据库连接需要预先由管理员在Workflow Manager中添加。
对于Session引用的源与目标库数据连接,严禁直接写数据连接名称,必须采用连接变量的方式,连接变量在参数文件中定义,连接变量的命名必须符合“$DBConnection_xxx”格式(其中xxx为要连接到的系统简称)。
3.7 参数文件
在PowerCenter Mapping、Task、Workflow通过参数变量的支持可以实现动态参数值的注入,但这些参数变量的取值必须在参数文件中定义,运行时Informatica会从指定的参数文件读取参数变量的值。
严格禁止在设计阶段为参数变量设置默认值,参数变量的取值需要从参数文件获得,参数文件禁止将参数值指定到session级别(首次存量的参数文件不限制),如果同一workflow的两个session的参数需要使用不同的参数值,应该使用不同的参数名。
参数文件包括一个初始参数文件、多个首次全量加载参数文件、多个增量加载动态参数文件三种: ? 初始参数文件用于定义全局参数,需在上线前确定,其命名为“param_init.cfg” ? 全量加载参数文件主要用于首次全量加载,需在上线前手工编制,按
“param_xxx_batch_f.cfg”命名(xxx为数据处理批次简称,例如:subta表示分TA批量处理批次)
? 动态参数文件包括在增量加载程序运行阶段可能会改变的变量定义,在增量加载过程ETL程
序会自动更新文件数据,按“param_xxx_batch_i.cfg”(xxx为数据处理批次简称,例如:subta表示分TA批量处理批次) 附:
1. param_init.cfg文件的示例: [Global]
$$schema_downfile=ods_down3 $$schema_ods=ods_ods3 $$schema_dw=ods_dw3 $$schema_crm=htfcrm $$schema_ec=ec $$schema_hec=hec
Page: 9 of 39
Informatica PowerCenter平台 ETL开发规范 $$schema_subta=subta
$$schema_selfta=selfta $$schema_yssfa=yssfa
$$schema_yssfa_ods=yssfa_ods $$schema_ysszhfa_ods=ysszhfa25_ods $$schema_ysszhfa=ysszhfa25 $$schema_oa=ecology $$schema_ips=ods_ips $$schema_fa=yssfa_ods $$schema_yssfa=yssfa $$schema_ysszhfa=ysszhfa25
$DBConnection_crm=htfcrm_htfcrm_ods_172_16_4_142 $DBConnection_ods=ods2_ods_ods3_172_16_3_190 $DBConnection_dw=ods2_ods_dw3_172_16_3_190 $DBConnection_downfile=ods2_ods_down3_172_16_3_190 $DBConnection_subta=htfcrm_hsta_ods_172_16_4_142 $DBConnection_selfta=htfcrm_selfta_ods_172_16_4_142 $DBConnection_ec=htfcrm_ec_ods_172_16_4_142 $DBConnection_hec=htfcrm_hec_ods_172_16_4_142 $DBConnection_heccdc=htfcrm_hec_cdc_172_16_4_142 $DBConnection_yssfa=htfcrm_yssfa_ods_172_16_4_142 $DBConnection_ysszhfa=htfcrm_ysszhfa25_ods_172_16_4_142 $DBConnection_oa=htfcrm_ecology_ods_172_16_4_142 $DBConnection_fa=htfcrm_yssfa_ods_172_16_4_142 $DBconnection_ips=htfips_ods_ips_172_16_4_143
$ParameterFilePath=d:\\etlhome\\parameter $$ParameterFilePath=d:\\etlhome\\parameter $ParameterSqlPath=d:\\etlhome\\sqlfile $$ParameterSqlPath=d:\\etlhome\\sqlfile
mplt_getnextsk.$$schema_dw=ods_dw3 mplt_getlastwkdate.$$schema_ods=ods_ods3 mplt_getnextwkdate.$$schema_ods=ods_ods3 mplt_getnextid.$$schema_ods=ods_ods3
mplt_transform_tradetype_selfta.$$schema_ods=ods_ods3 mplt_transform_tradetype_subta.$$schema_ods=ods_ods3
Page: 10 of 39