操作流程
①定义源
②定义目标
③创建映射
④定义任务
⑤创建工作流
⑥工作流调度监控
⑦查验数据
将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)
-
- );
-
- INSERT INTO SCOTT.EMPLOYEES
- (EMPLOYEE_ID, JOB_ID, FIRST_NAME, LAST_NAME, ADDRESS1, ADDRESS2, CITY, STATE, POSTAL_CODE, HOME_PHONE, OFFICE_PHONE, EMAIL)
- VALUES(1921, 1, 'William', 'Nelson', '4-976 Surarloaf Hwy', '', '', 'HI', '94766', '808-555-0269', '415-541-5145', 'qwqwrfqd@qq.com');
--先连接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(密码))--->连接--->选定表--->生成选项(勾选:创建表 主键 外键 删除表)--->生成并执行。

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

--点击⑤映射图标,映射-->创建-->新映射名称:M_ORACLE_EDW01_employees --> 确定--->将右侧的源表和目标表拖拽到右侧空白区域。
--
![]()
表达式转换:在导航栏找到对应图标,点击,然后在右侧的编辑框内的空位处黑色十字架拖拽一下,这时就有了转换表,同时把源表中需要需要在目标表中需要的字段拖拽到表达式表中进行连接。

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


--右击S_ORCLCDB_EDW01_employees--通过任务启动工作流--自动弹出M端。
--点击启动的M端查看监测情况

--登陆Oracle的edw01用户查验数据
- SELECT EMPLOYEE_ID, JOB_ID, NAME, ADDRESS1, ADDRESS2, CITY, OFFICE_PHONE, EX_TIME
- FROM EDW01.EDW_EMPLOYEES;
