Informatica使用操作流程及Expression(表达式转换)案例2

操作流程

①定义源

②定义目标

③创建映射

④定义任务

⑤创建工作流

⑥工作流调度监控

⑦查验数据

一、需求:

将Oracle的 scott 用户下的 employees 表抽取至 EDW层;目标数据存储在edw01用户下。

使用Expression组件将业务系统数据抽取至EDW层进行转换,要求如下

  • 将first_name 与last_name合并为一个字段name

  • 将Address1 的前6个字符插入到Address2中(Address2为空)

  • 增加数据抽取时间

-- 表字段说明

create table EMPLOYEES

(

EMPLOYEE_ID  INTEGER not null,

JOB_ID       INTEGER not null,

FIRST_NAME   VARCHAR2(30) not null,

LAST_NAME    VARCHAR2(30) not null,

ADDRESS1     VARCHAR2(72) not null,

ADDRESS2     VARCHAR2(72),

CITY         VARCHAR2(32),

STATE        VARCHAR2(2),

POSTAL_CODE  VARCHAR2(10),

HOME_PHONE   VARCHAR2(30) not null,

OFFICE_PHONE VARCHAR2(30),

EMAIL        VARCHAR2(30)

);

①定义源

--先连接R端创建文件夹BI_ETL01

--切换到D端打开BI_ETL01,

--点击①源图标,点击源--->从数据库导入-->【点击ODBC数据源(D)后边的‘···’--->用户DSN--->添加--->选择:DataDirect 6.1 Oracle Wire Protocol--->自定义Data Source Name:odbc01_oracle--->Host:127.0.0.1--->Port Number:1521--->SID:orcl--->确定 --->选择 odbc01_oracle --->确定】---> 连接数据库输入:odbc01_oracle...  scott   tiger(密码)--->连接--->选择表:employees --->确定。

②定义目标

--点击②目标的图标,将左侧源中的表employees拖拽到右侧空白区--->双击表头,重命名:EDW_EMPLOYEES--->确定--->再次编辑表的列,把不需要的字段删除(如:LAST_NAME、CITY、STATE、HOME_PHONE、POSTAL_CODE、EMAIL删除),添加新的需求列(Ex_time date),修改字段(把FIRST_NAME改为name)--->确定。

--生成表结构:选中目标表--->点击导航栏的目标--->生成/执行SQL--->连接(odbc01_oracle...  edw01  edw01(密码))--->连接--->选定表--->生成选项(勾选:创建表  主键  外键  删除表)--->生成并执行。

Informatica使用操作流程及Expression(表达式转换)案例2_第1张图片

--登陆Oracle的edw01用户查验表结构是生成。

Informatica使用操作流程及Expression(表达式转换)案例2_第2张图片

 

③创建映射

--点击⑤映射图标,映射-->创建-->新映射名称:M_ORACLE_EDW01_employees --> 确定--->将右侧的源表和目标表拖拽到右侧空白区域。

--

图片

表达式转换:在导航栏找到对应图标,点击,然后在右侧的编辑框内的空位处黑色十字架拖拽一下,这时就有了转换表,同时把源表中需要需要在目标表中需要的字段拖拽到表达式表中进行连接。

Informatica使用操作流程及Expression(表达式转换)案例2_第3张图片

--编辑表达式转换表,以达到需求的要求(添加字段、修改输入输出、表达式)。

--表达式转换表与目标的字段连接

Informatica使用操作流程及Expression(表达式转换)案例2_第4张图片

 

你可能感兴趣的:(etl,数据库)