kettle 插入更新 和表输出的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle 插入更新 和表输出的区别相关的知识,希望对你有一定的参考价值。

表里的字段指你从表输入或表输出中读取到的数据库中表的字段 流字段指的是你kettle流程中输入控件输出的字段 参考技术A 表输出抽取数据比插入更新更快,插入更新不会有主键冲突 参考技术B 插入/更新
1、
步骤名称:要写入数据的表的schema名称。
2、
commit
size:提交之前要改变的行数(插入/更新)。
3、
不执行任何更新:如果被选择,则不执行任何更新,只允许插入。
4、
用来查询的关键字:可以指定字段值或者比较符。可以用以下比较符:>、>=、=、<>、<、<=、between、like、is
null、is
not
null
5、
用来查询的关键字:输入用来指定记录的关键字。
6、
更新字段:指定想要插入/更新的字段。
备注:还有一个更新的插件,它只能执行更新操作,完全可以由这个插件来代替
删除
执行删除操作。
注意:在输出中,插入/更新、删除、更新对应的是数据库的增、删、改。
Excel输出
利用这个步骤,可以写入数据到一个或者多个文件中。
1、
文件名和
扩展名
:可以使用变量。
2、
头部、尾部:给文件添加头部和尾部。
3、
Split
every…rows:分割数据到几个输出文件中。
4、
Use
template:使用模板
5、
追加excel模板:是否将Excel输出添加到指定的Excel模板中。
Access输出
1、
数据库名:注意要写入扩展名,否则输出的文件名不包含扩展名”.mdb”
2、
创建数据库:选中则创建数据库。
3、
Target
table:表名。
4、
Create
table:选中则创建数据表。
5、
Commit
size:定义输出数据时的提交尺寸。
XML输出
1、
文件名中包含步骤号码:
如果你在
多个拷贝中运行一个步骤,在
文件扩展名
的前面,将包含拷贝的号码。
2、
分割每一个行:每个xml文件中包含的记录数。0表示不分割。
3、
正在编码:在
XML文件
头部指定。
4、
字段
选项卡
5、
元素名称:xml文件使用的元素的名称,不指定,则元素名称和
字段名
相同。
6、
10进制

小数点
可以是”.”或者”,”
7、
分组:分组符可以是”,”或者”.”
8、
空:表示当字段值为空时,则用此字段值代替。
还有很多输出插件,它们的图标如下图所示:
总结:输出插件和输入插件的种类差不多,输出插件里插入/更新、
更新、还有表输出,这几个插件有功能相同的地方,我们可以根据需求来选择需要的插件,因为不同的插件执行的效率也不一样,虽然插入/更新插件具备了更新插
件的功能,但是我们都知道功能多的就是没有功能单一的效率高,所以我们可以根据需求来决定应该使用哪个插件更好一些。还有删除插件,这个插件也很好用,可
以执行批量删除,效率也很高。

kettle插入/更新

1.数据库环境

--------------------实时表
CREATE TABLE NowTable(ID INT,NAME VARCHAR(100),Info VARCHAR(100));

INSERT INTO NowTable VALUES(1,张启山,长沙);
INSERT INTO NowTable VALUES(2,尹新月,长沙);
INSERT INTO NowTable VALUES(3,二月红,长沙);

--------------------历史表
CREATE TABLE HistoryTable(ID INT,NAME VARCHAR(100),Info varchar(100));

INSERT INTO HistoryTable VALUES(1,张启山,长沙);
INSERT INTO HistoryTable VALUES(2,尹新月,北平); 

2.需求

上述有2张表,表NowTable为实体表,表History为历史表,历史表与实体表需要进行数据同步。

很直白的说就是:通过使用插入更新,让表History中的数据与NowTable中的数据保持一致。

3.kettle基本示意图

技术分享

4.控件详情

4.1NowTable(表输入)

技术分享

4.2插入/更新

技术分享

注意:用来查询的关键字为”主键或者联合主键”,后边的主键字段不需要更新

执行kettle,查询数据库表HISTORYTABLE,结果如下:

技术分享

 

以上是关于kettle 插入更新 和表输出的区别的主要内容,如果未能解决你的问题,请参考以下文章

Kettle增量插入和更新

KETTLE如何实现实时的增量更新

kettle基本使用

kettle 表输入 对结果集进行操作

ETL工具kettle的数据分发和复制的区别

Kettle-7.0使用举例