标签:循环 同步数据 man 执行 source src 表头 tar 转换
欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「999
」获取本例源文件, 免费领取全网最热的kettle实战视频教程 http://www.javaman.cn/kettle/kettle-column
本文主要讲解将列配置在excel配置文件中,只同步所需要的字段,不需要进行表的全部字段同步!!
t_user2和t_user3两张为待抽取的源数据表;t_user2_kettle和t_user3_kettle为目标表
-- Create table
create table T_USER_2
(
id NUMBER(5),
name NVARCHAR2(20),
password NVARCHAR2(30),
sex CHAR(2),
gxsj DATE
)
tablespace TEST
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create table
create table T_USER_2_KETTLE
(
id NUMBER(5),
name NVARCHAR2(20),
password NVARCHAR2(30),
sex CHAR(2),
gxsj DATE
)
tablespace TEST
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create table
create table T_USER_3
(
id NUMBER(5),
name NVARCHAR2(20),
password NVARCHAR2(30),
sex CHAR(2),
gxsj DATE
)
tablespace TEST
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create table
create table T_USER_3_KETTLE
(
id NUMBER(5),
name NVARCHAR2(20),
password NVARCHAR2(30),
sex CHAR(2),
gxsj DATE
)
tablespace TEST
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
下图为整个作业的流程:包含start、获取文件和循环处理表数据的作业流程
该转换包含两个控件:excel输入控件和复制记录到结果控件,将excel的数据读取出来,放入复制记录到结果中
循环处理的作业流程如下:包含获取表名和插入表两个转换;将步骤三的表名获取出来放入循环处理.kjb的步骤中
此处需要注意鼠标左键双击循环处理.kjb,进入【高级】选项,勾选上【对每个输入执行一次】的选项,点击确定
![插入表
整个插入表的转换如下图,包含获取源数据同步数据(实际是表输入)和目标数据插入(表输出),两个控件
输入下图中的sql语句,勾选上替换sql语句里的变量,点击确定
该步骤是将上一步的结果放入变量中,进行变量替换,即达到读取配置文件的目的
{target}
为步骤三中获取到的target,用花括号扩起来,否则不起作用,点击确定进行保存相应的数据同步到具体的表中,根据excel文件的配置可以看到user2和user3两张表配置的字段不同,同步到目标表的数据就不相同
根据上述表查看,发现所选字段数据已经同步到表中,该表并非全表同步!
999
】,祝同学们学习愉快~~kettle多个表一起迁移-通过配置文件配置需要同步的字段,非全字段同步
标签:循环 同步数据 man 执行 source src 表头 tar 转换
原文地址:https://www.cnblogs.com/dalaba/p/14812917.html