0
点赞
收藏
分享

微信扫一扫

Informatica使用操作流程--增量抽取 案例8

zmhc 2023-06-01 阅读 27

一、增量抽取:

 ETL 的开发流程:

业务系统OLTP--->操作型数据存储ODS----->清洗到数据仓库EDW----->数据集市(建模/挖掘/分析)DM----->可视化。

增量抽取,表示当业务系统的数据随着时间的推移是变动的(如:客户数量的变化,会员的变化,订单的变化、网站访客的变化等都是增量数据),我们需要开发增量抽取到EDW层,保持数据的同步,不用每次都去业务系统读取全部数据,只添加或更新有变化的数据。

二、案例:

1、目标:开发增量抽取 (业务系统OLTP---> EDW )

      源表                   ----->      目标表
      OLTP(oracle)     ----->      EDW [oracle(edw01)]
      ods_cust_info    ----->      edw_cust_info  客户基本信息表

Informatica使用操作流程--增量抽取 案例8_oracle

2、操作流程步骤:

(1)业务系统OLTP--->操作型数据存储ODS:导入源数据到oracle的OLTP用户下。

    在oracle 数据库中创建用户OLTP,并授予相应的权限
    sqlplus system/a123456@orcl
    create user OLTP identified by "OLTP";
    grant connect to OLTP;
    grant dba to OLTP;
    grant resource to OLTP;
    conn oltp/oltp@orcl
    @e:\oracle_oltp_data.sql;

(2)打开informatica的R端,登陆并创建文件夹BI_EDW01。

Informatica使用操作流程--增量抽取 案例8_数据_02

(3)切换到D端,创建连接,导入源

--做增量抽取,在使用源表和目标表之前需要为源表和目标表设置一个主键,我们在创建时设置ID 、cust_id字段为主键。

Informatica使用操作流程--增量抽取 案例8_主键_03

Informatica使用操作流程--增量抽取 案例8_主键_04

(4)创建目标表,然后生成并执行sql。

Informatica使用操作流程--增量抽取 案例8_oracle_05

Informatica使用操作流程--增量抽取 案例8_oracle_06

Informatica使用操作流程--增量抽取 案例8_数据_07

(5)创建映射,

--创建映射M_ODS_EDW_CUST_INFO,拖入源和目标,

--使用Lookup组件查找目标,增加查找条件目标id=源id,记得修改属性中查找数据的来源,

Informatica使用操作流程--增量抽取 案例8_oracle_08

Informatica使用操作流程--增量抽取 案例8_主键_09

Informatica使用操作流程--增量抽取 案例8_数据_10

--使用更新策略,连接查找和源,修改属性更新策略。

Informatica使用操作流程--增量抽取 案例8_数据_11

--如果目标表存在该记录,则拒绝
--如果目标表不存记录 ,则插入
--iif(isnull(ID),dd_insert,dd_reject)
        
--使用更新策略组件(定义表达式)
--其中 DD_INSERT/DD_UPDATE/DD_DELETE/DD_REJECT 是 Infa 的常量,
--分别对应 0,1,2,3。上面代码的 DD_INSERT 也可以用 0 代替。

Informatica使用操作流程--增量抽取 案例8_数据_12

--解释:查找目标表的ID 与源表id进行匹配,如果目标表没有,源表有,增增量插入,否则拒绝。

--连接映射关系,ctrl+s保存。

Informatica使用操作流程--增量抽取 案例8_oracle_13

(6)、创建任务,添加连接关系,修改任务映射,保存

Informatica使用操作流程--增量抽取 案例8_oracle_14

Informatica使用操作流程--增量抽取 案例8_主键_15

Informatica使用操作流程--增量抽取 案例8_oracle_16

Informatica使用操作流程--增量抽取 案例8_数据_17

(7)、创建工作流,连接任务,保存并执行

Informatica使用操作流程--增量抽取 案例8_oracle_18

Informatica使用操作流程--增量抽取 案例8_数据_19

Informatica使用操作流程--增量抽取 案例8_oracle_20

(8)、M端:工作流调度监控

Informatica使用操作流程--增量抽取 案例8_oracle_21

(9)、数据库查验数据

Informatica使用操作流程--增量抽取 案例8_主键_22

(10)增量抽取开发功能验证。在源数据中添加两条记录,从新执行后看效果。

Informatica使用操作流程--增量抽取 案例8_数据_23

Informatica使用操作流程--增量抽取 案例8_主键_24

Informatica使用操作流程--增量抽取 案例8_oracle_25

--如果没有数据的增量,我们再去执行,就会拒绝请求不会重复插入。

Informatica使用操作流程--增量抽取 案例8_oracle_26

ETL之informatica专题

举报

相关推荐

0 条评论