Kettle实例解析

参考自 李蒙强 的博客:《ETL利器Kettle实战应用解析系列二》

重新操作、改造、配图

首先建表并插入数据

三张事实表

drop table aa_cust;
create table aa_cust  --客户表
(
    custno int,  --客户号
    custname varchar(32),  --客户名称
    custid varchar(32),  --客户编码
    custtype int,  --客户类型(1为对私,2为对公)
    CONSTRAINT aa_cust_pkey PRIMARY KEY (custno)
);

drop table aa_account;
create table aa_account  --账户表
(
    acctno int,  --账户号
    custno int,  --客户号(aa_cust::custno)
    amt int,  --账户余额
    CONSTRAINT aa_account_pkey PRIMARY KEY (acctno)
);

drop table aa_trade;
create table aa_trade  --交易表
(
    tradeid int,  --交易号
    acctno int,  --账户号
    amt int,  --交易额
    CONSTRAINT aa_trade_pkey PRIMARY KEY (tradeid)
);

--插入客户
insert into aa_cust values(1, 'Private1', '100001', 1);
insert into aa_cust values(2, 'Public1', '200001', 2);

--插入账户
insert into aa_account values(1, 1, 50);
insert into aa_account values(2, 1, 60);
insert into aa_account values(3, 2, 4000);
insert into aa_account values(4, 2, 5000);

--插入交易
insert into aa_trade values(1, 1, 10);
insert into aa_trade values(2, 1, 15);
insert into aa_trade values(3, 2, 20);
insert into aa_trade values(4, 2, 25);
insert into aa_trade values(5, 3, -10);
insert into aa_trade values(6, 3, -15);
insert into aa_trade values(7, 4, -20);
insert into aa_trade values(8, 4, -25);

一张维度表

drop table aa_trade_all;
create table aa_trade_all
(
    tradeid int,
    acctno int,
    amt int,
    custno int,
    custname varchar(32),
    custid varchar(32),
    custtype_str varchar(32),
    value varchar(32),
    CONSTRAINT aa_trade_all_pkey PRIMARY KEY (tradeid)
);

逻辑总揽

这里写图片描述

设计数据处理逻辑

创建“DB连接”
这里写图片描述
拖拽“表输入”步骤
这里写图片描述
拖拽“数据库查询”步骤1
这里写图片描述
拖拽“数据库查询”步骤2
这里写图片描述
拖拽“过滤记录”步骤
这里写图片描述
拖拽“JavaScript代码”步骤1
这里写图片描述
拖拽“JavaScript代码”步骤2
这里写图片描述
拖拽“增加常量”步骤1
这里写图片描述
拖拽“增加常量”步骤2
这里写图片描述
拖拽“文本文件输出”步骤
这里写图片描述
这里写图片描述
拖拽“插入/更新”步骤
这里写图片描述
拖拽“Excel输出”步骤
这里写图片描述
这里写图片描述

运行结果

这里写图片描述
文本文件输出结果
这里写图片描述
数据库结果
这里写图片描述
Excel输出结果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皓月如我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值