Informatica快速入门
1Informatica概述 (3)
2安装Informatica8.6.1 (3)
2.1服务端安装 (3)
2.2客户端安装 (7)
3配置管理服务器 (9)
3.1创建知识库和集成服务 (9)
3.2客户端到集成服务端的连接 (12)
4PowerCenter Designer学习 (13)
4.1概念和基本定义 (13)
4.2Mapping设计和组件的使用 (15)
4.2.1实例一:聚合抽取 (15)
4.2.2实例二:取TOP前三条记录 (16)
4.2.3实例三:抽取XML源 (19)
4.3WorkFlow的设计和使用 (20)
4.3.1创建Session (20)
4.3.2设计WorkFlow (22)
4.4Repository Manager (23)
1 Informatica概述
Informatica一直致力于为客户提供具有强大的元数据管理、数据集成和个性化分析递送功能的世界通行标准的统一数据服务平台。Informatica的基础设施产品以可伸缩的、可扩展的企业级数据集成平台为特点,并广泛支持来自Informatica和其他的领先商务智能提供商的数据仓库基础设施和分析型应用软件的开发和管理,提供元数据管理解决方案,帮助企业集成、优化、审核信息资产以提高运营效率,增加客户收益,取得竞争优势。
详见文档:
2 安装Informatica8.6.1
这里以Informatica8.6.1为例:
2.1 服务端安装
找到安装目录pc861_win32_x86.zip\Server\Windows\Disk1\InstData\VM下
点击安装
选择安装语言,这里以中文版为例
点击下一步,并选择安装PowerCenter8.6.1
必须选择事先准备好的安装密匙
选择安装路径
HTTPS配置,配置管理控制台与配置管理器的安全通信(如果没有使用该端口就采用默认)
配置好Informatica域并进行下一步,取掉为特定用户启动Informatica Services,点击完成安装
2.2 客户端安装选择安装
设置安装路径
安装完成后可以看到包含的所有工具
3 配置管理服务器
3.1 创建知识库和集成服务
接下来我们主要是配置知识库管理服务器,PowerCenter数据整合引擎是基于元数据驱动的,提供了基于元数据驱动的元数据知识库(Repository),知识库是PowerCenter
的核心。
在Informatica Services启动的的情况下,我们可以通过管理控制台来操作。
从控制台里我们可以看到很多选项,我们主要是创建存储库服务(Repository)和集成服务,存储库服务(Repository)存储所有的ETL元数据,包括:源、目标表的物理和逻辑元数据,ETL转换规则,知识库用户权限,ETL任务运行历史信息等元数据。
首先我们创建一个用于测试学习的存储服务器,事先在Oracle中建好要用到的数据库
此处如果无法创建成功有以下可能:
1. 需要设置环境变量,将
C:\Informatica\PowerCenter8.6.1\Server\bin;C:\Informatica\PowerCenter8.6.1\Reposi toryServer\bin;移到Path最前边
2. 代码页一定要如下选择
3. 设置知库链接用的数据库用户要有DBA角色权限
连接字符串设置为当前的Oracle服务名
接下来创建集成服务,因为集成服务是依赖于知识库的,注意关联的存储库服务选择刚建好的学习测试存储库,存储库默认要设置用户名和密码为:Administrator
至次我们完成了服务端的基本配置,服务端可以对知识库备份和恢复等很多功能,也可以建立其相应的服务,这里不再多述!
3.2 客户端到集成服务端的连接
我们开发ETL要使用到PowerCenter Designer工具,详细的介绍在概述中有,接下我们配置好Designer与集成服务的连接:
从客户端工具中打开PowerCenter Repository Manager
从菜单上选择存储库>配置域如下:
这样就连接上集成测试用例库,选择学习测试用例库,从文件夹选项目创建文件夹,相当于在集成库下的一层子目录
至此,打开PowerCenter Designer就可开发使用了
4 PowerCenter Designer学习
4.1 概念和基本定义
最基本的ETL包括源的定义,目标定义,和映射,另外我们还可以创建可以重用的Mapplet。使用到的工具如下
源分析器:
目标设计器:
映射设计:
传输件设计:
Mapplet组件设计:
源分析器是用来定义源的结构,这里的源虽然是从某个数据库导出进来的表结构也可以是某个XSD定义的XML结构等等,但是仅仅绑定了数据库类型,并不是指定了链接要从那个数据库里抽取数据。这里我们从菜单可以导入表结构,Informatica 提供了ODBC的方式链接多种数据源
我们以一个DW事实表为例:
同样我们可以定义目标结构,常规也是导入表结构,我们也可以在Mapping设计中自动创建目标表结构,源定义和目标定义中,我们可以对导进来的表名以及表的结构进行修改以满
足我们的设计需求,但是我们在WorkFlow中实现数据抽取中对应的源和目标要和此结构相同,如果要满足变化的源和目标,可以通过Visio设计来转换为Mapping来实现。
4.2 Mapping设计和组件的使用
PowerCenter Designer通过Mapping来完成从源到目标的转换,Mapping设计器中包含了大量的转换组件
关于组件详尽的说明,可以打开文档具体学习:
转换组件一般包含,转换、端口、属性、以及元数据扩展
转换:可以对该转换更改名称和附加具体说明。
端口:转换组件大都包含转换输入端口和输出端口以及特定的操作或表达式。
属性:该转换组件的特定设置
元数据扩展:
下边以两个实例来讲解组件的使用
4.2.1 实例一:聚合抽取
从源到目标,我们中间用聚合组件,对OWE_CHARGE进行SUM并按几个维组来聚合,如下图:
从下图我们可以看到该组件端口中字段属包含:I、O、V、表达式、GroupBy等属性,对于OWE_CHARGE字段我们仅设置输入,创建自定义属性端口SUM_OWE_CHARGE,其表达式为SUM(OWE_CHARGE),对于维度键勾选GroupBy,这样实现了细粒度到粗粒度的聚合
每种组件都有自己特定的属性和特定的端口属性,我们通过属性设置或表达式来实现组件的特性,不同组件的搭配来完成整个Mapping的设计
4.2.2 实例二:取TOP前三条记录
源表数据
目标:取Score1 TOP前3条记录、和Score2 TOP前3条记录
实现:
对源表分别用两个Rank组件,Rank组件有分组排序取前N或后N条记录的功能,如下图
端口属性如下:RankIndex 为自动产生的Rownum,score1后的R表示以此排序
组件属性设置如下:
top/bottom:取前或后Number Of Ranks:取多少位
抽取结果:
4.2.3 实例三:抽取XML源
雇员DTD定义:
设计如下:
导入XML源结构为源,通过SQ分别将雇员信息分解为雇员表,雇员电话,雇员邮件,雇员薪水,具体设计如下图:
4.3 WorkFlow的设计和使用
4.3.1 创建Session
在做完Mapping设计之后,我们要抽取数据,接下来的任务就是WorkFlow的设计,在WorkFlow设计器中,数据抽取的基本组件是Session,Session是映射的一个具体实例,在创建一个Session时必须指定一个映射,并由这个Session决定了数据抽取的默认源和目标。
我们打开WorkFlow设计工具,从工具上选择,这样我们就可以创建Session,