Informatica JAVA代码组件

一、Informatica 数据迁移计划

1. 选择源表和目标表

1.1源表:ODS_AC01

CREATE TABLE ODS_AC01
(
  AAC001 VARCHAR2(150),
  AAC002 VARCHAR2(150),
  AAC003 VARCHAR2(150)
);
COMMENT ON COLUMN ODS_AC01.AAC001 IS '姓名';
COMMENT ON COLUMN ODS_AC01.AAC002 IS '身份证号码';
COMMENT ON COLUMN ODS_AC01.AAC003 IS '地址';

在这里插入图片描述

1.2 目标表:EWD_AC01

CREATE TABLE EDW_AC01
(
  PSN_UUID   VARCHAR2(32) NOT NULL,
  PSN_IDCARD VARCHAR2(20),
  PSN_NAME   VARCHAR2(150),
  PSN_ADDR   VARCHAR2(150),
  PSN_BIR    DATE
);
COMMENT ON COLUMN EDW_AC01.PSN_UUID IS '人员编号';
COMMENT ON COLUMN EDW_AC01.PSN_IDCARD IS '身份证号码';
COMMENT ON COLUMN EDW_AC01.PSN_NAME IS '人员姓名';
COMMENT ON COLUMN EDW_AC01.PSN_ADDR IS '地址';
COMMENT ON COLUMN EDW_AC01.PSN_BIR IS '生日';

2. 分析源表和目标表关系映射

(1)源表ODS_AC01表数据需要迁移至目标表EWD_AC01,表结构完全不同,需要做字段转换
(2)EDW_AC01.PSN_BIR(生日) 是日期格式,我们通过源表的AAC002(身份证号码)可以提取。
(3) EDW_AC01.PSN_UUID(人员编号) ,类型VARCHAR2,长度32,此处需要使用UUID,可以通过JAVA代码生成实现。

3. 创建源表和目标表关系映射

3.1 导入源表和目标表后创建映射,创建完成后拖拽源表和目标表到映射

在这里插入图片描述

4. 编写生成UUID的JAVA代码

package com.powersi.util;

import java.util.UUID;

public class GenerateUUID {

    public static String generateUuid(){
        return (UUID.randomUUID().toString().replaceAll("-","")).toUpperCase();
    }

    public static void main(String[] args) {
        String uuid = generateUuid();
        System.out.println(uuid);

    }
}

运行代码结果:

906F1101F440432AA915C709B4E5349C

5. 编辑人员信息表映射

5.1 JAVA代码组件应用

(1)映射中加入JAVA代码组件,选择的时候选择 被动,点击确定

在这里插入图片描述
在这里插入图片描述

5.2 JAVA代码转换组件设置

(1)重命名转换名称:生成UUID
在这里插入图片描述
(2)端口添加,在输出组中点击添加字段,名称PSN_NO,数据类型:String ,精度:32,输出打上勾
在这里插入图片描述
(3)JAVA代码选项中,点击导入包,输入以下代码:

import java.util.UUID;

在这里插入图片描述
(4)JAVA代码选项中,点击在输入行,输入以下代码后点击编译,日志框中输出Java 代码编译成功后点击确定。

PSN_NO = (UUID.randomUUID().toString().replaceAll("-","")).toUpperCase();

在这里插入图片描述

(5)最后用线将源表、JAVA代码组件、目标表连接起来
在这里插入图片描述

5.3 字段映射及组件连线

(1)首先拉入表达式转换组件
在这里插入图片描述
(2)用线连接源表的AAC002(身份证号码)字段到表达式组件,双击表达式进行编辑,新增字段 PSN_BIR,类型设置 date/time类型,只给输出打钩。然后编辑表达式,输入 TO_DATE(SUBSTR(AAC002,7,8),‘YYYYMMDD’),然后点击验证,出现表达式解析成功后点击确定。

TO_DATE(SUBSTR(AAC002,7,8),'YYYYMMDD')

在这里插入图片描述

在这里插入图片描述
(3)将源表字段连接到表达式组件,然后新字段,表达式转换如下图所示,然后用线条连接表达式和目标表,排列所有图标。
在这里插入图片描述

最终连线:
在这里插入图片描述

排列图标后如图所示:
在这里插入图片描述

6. 建立会话、工作流、启动任务

6.1 创建好任务后编辑任务映射。

在这里插入图片描述

6.2 创建工作流

在这里插入图片描述

6.3 启动工作流

在这里插入图片描述
在数据库中查看数据,发现数据已割接完成!
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值