kettle表与表之间的全量ETL
-
连接资源库(参考入门篇(一))
-
新建转换
-
配置表输入组件
创建源数据库,源表,插入源数据
create database test_from;
use test_from;
create table source_table(
id int primary key,
username varchar(50),
password varchar(50),
age int,
address varchar(100)
);
insert into source_table values (1,'shawn','111111',25,'SHANGHAI');
insert into source_table values (2,'john','111111',24,'NANJING');
insert into source_table values (3,'jack','111111',26,'HANGZHOU');
insert into source_table values (4,'bill','111111',25,'BEIJING');
kettle-full-push-new-source-connection.png表输入组件,新建源数据库
kettle-full-push-new-source-connection-ui.png接下来的步骤,与入门篇中的创建资源库连接的是一样的,需要把数据库换成
test_from
,也就是你配置的源库即可。
kettle-full-push-button-getQuerySQL.png kettle-full-push-choose-source-table.png点击
获取SQL查询语句
kettle-full-push-choose-all-columns.png点击确定即可。
kettle-full-push-button-viewsql.png如果你想包含所有的字段名,点击是即可,如果不想,就点击否,手动写自己需要的字段。这里我们就全选了。
如果配置正确,点击关闭,然后表输入组件点击确定后保存。
- 配置表输出组件
创建目标数据库,目标表
create database test_to;
use test_to;
create table target_table(
id int,
username varchar(50),
password varchar(50),
age int,
address varchar(100)
);
kettle-full-push-new-target-connection.png
kettle-full-push-new-target-connection-ui.png接下来也是数据库配置的窗口,这里也不多做介绍了,直接新建我们的目标数据库即可。
kettle-full-push-choose-target-table.png接下来也是与表输入类似,如果mysql可以直接选择目标表,如果oracle先选择模式再选择表
kettle-full-push-choose-target-table-ui.png
kettle-full-push-table-output-ui.png如图所示:
裁剪表:勾选后表示先执行truncate
,在insert
指定数据库字段:勾选后,需要指定匹配的数据库字段,否则默认相同的字段相匹配。这里建议勾选
kettle-choose-column-mapping.png
kettle-full-push-table-output-finalui.png
- 新建作业
- 配置转换组件
- 配置start组件
重复:重复—将此项勾选,表示按下面配置的周期重复
类型:周期类型
* 不需要定时(如果选择不需要定时(前提是选择重复),时间间隔,天,周,月配置都不生效)
* 时间间隔(如果选择时间间隔(前提是选择重复),天,周,月配置不生效)
* 天(如果选择天(前提是选择重复),除了天,其他配置不生效)
* 周(如果选择周(前提是选择重复),除了周,其他配置不生效)
* 月(如果选择月(前提是选择重复),除了月,其他配置不生效)
秒:以秒为时间间隔重复执行作业
分钟:以分钟为时间间隔重复执行作业
天:每天定时执行作业
周:每周定时执行作业
月:每月定时作业
网友评论