本次将用PowerCenter工具,转换oracle的数据到mysql表中。其中包括资料库的创建,ETL过程设计、workflow设计及运行。

任务思路:将oracle中 testmib下表stu1中的stuid开平方根,转换到mysql的test下表stu2中。

1.测试数据准备

stu1表创建表语句以及表中的数据如下:

PowerCenter学习笔记二

PowerCenter学习笔记二

 

转换之前,mysql的test数据库下表stu2结构和stu1是一致的,并且是空表

PowerCenter学习笔记二

希望转换之后的数据如下:

PowerCenter学习笔记二

2.配置PowerCenter

2.1 新建Repository Service

2.2 新建PowerCenter集成服务

2.3 Repository Manager设计

1.启动客户端Repository Manager

PowerCenter学习笔记二

2.添加新建的配置域

在上图左边栏空白处右击选择配置域

3.添加成功后双击进行连接,填写在设置集成服务时所填写的用户名和密码

PowerCenter学习笔记二

4.连接成功后,选择创建,创建文件夹,该步骤是必须的,后续一切操作都在该文件下进行,输入名称,确定即可

PowerCenter学习笔记二

2.4 Design设计

1.启动PowerCenter Designer客户端

PowerCenter学习笔记二

2.点击工具,选择Source Analyzer,数据源导入界面,导入oracle源表STU1

3.选择Target Designer,进入目标表设计界面,导入MySQL目标表stu2

      由于stu2是mysql数据库的,如果是mysql社区版的,powercenter不支持mysql社区版,支持企业版,但是也可以通过配置ODBC驱动来连接MySQL社区版。

4.点击Mapping Designer,进入Mapping设计界面

      将数据源表结构STU1拖入Mapping Designer界面,此时会要求输入Mapping的name,随便取个名字就行,此处我用的是mibtest1;将目标表结构stu2也拖入Mapping设计界面;点击工具栏上的f(x)选项,添加表达式组件。

PowerCenter学习笔记二

5.双击f(x)组件,进入端口界面,添加两行数据

PowerCenter学习笔记二

6.将SQ_STU1中的STUID拖拽到表达式组件中的STUID,将表达式组件中的STUID_OUT拖拽到目标表STU2的STUID

PowerCenter学习笔记二

7.在Mapping设计界面空白处右击鼠标,选择自动链接

PowerCenter学习笔记二

点击确定后

PowerCenter学习笔记二

       该图的意思表示,STU1中的STUID经过表达式求平方根后,在导入STU2表中,而STUNAME和STUSEX都不经过任何修改直接导入STU2表中

进行保存

2.5 Workflow设计

1.启动PowerCenter Workflow Manager客户端

2.连接到存储库后,新建立一个工作流,选择在designer中设置的映射

3.完成后,看到如下界面

PowerCenter学习笔记二

4.配置数据源和目标数据源

5.双击刚创建的session,点击映射,进入映射界面,设置源数据表的数据库可目标表的数据库连接

PowerCenter学习笔记二

PowerCenter学习笔记二

6.点击保存

      至此,一个完整的ETL过程设计完毕,剩下的只需运行Workflow就行,在workflow designer界面空白处右击,选择启动工作流。

7.开始运行之后,会自动进入Workflow Monitor界面

PowerCenter学习笔记二

Running表示运行中,如果成功就会显示succeeded,失败就显示failed

2.6 数据转换结果

为了验证是否转换成功,进入mysql查看转换后导入的数据

PowerCenter学习笔记二

 

 

相关文章: