kettle庖丁解牛第25篇之插入更新

Posted 飞哥大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle庖丁解牛第25篇之插入更新相关的知识,希望对你有一定的参考价值。

引言

在上一篇文章中,我们主要讲解的是:更新组件的各种详细设置,最后实战演示了,从excel文件中读取数据,然后通过更新组件,对mysql库表中的数据进行更新操作。

在本篇文章中,我们接着介绍:kettle中的插入更新组件。

转换

转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。

创建转换

我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。

kettle庖丁解牛第25篇之插入更新_转换

kettle庖丁解牛第25篇之插入更新_etl_02

保存转换

kettle庖丁解牛第25篇之插入更新_作业_03

给你新建的转换,起个名字,并保存

kettle庖丁解牛第25篇之插入更新_kettle_04

kettle庖丁解牛第25篇之插入更新_插入更新_05


插入\\更新

简介

这个组件,利用查询关键字在表中搜索行。如果行没有找到,就插入行。如果能被找到,并且要被更新的字段没有任何改变,就什么也不做。如果有不同,行就会被更新。

kettle庖丁解牛第25篇之插入更新_etl_06

kettle庖丁解牛第25篇之插入更新_转换_07

选项说明

kettle庖丁解牛第25篇之插入更新_转换_08

选项列表

选项

描述。

数据库连接


用来写数据的数据库连接。

目标模式

简单来说:在oracle库中,理解成user。在mysql库中,理解成database。

目标表

要写数据的表名。

提交记录数量

提交之前要改变的行数。

不执行任何更新

不执行更新操作

用来查询的关键字

可以指定字段值或者比较符。可以用以下比较符:=,

<>,<,<=,>,LIKE,BETWEEN,IS NULL,IS NOT NULL。

更新字段

指定你想要更新的字段。

实战演示

我们要演示从excel文件中读取数据,然后通过更新组件,使用excel文件中的数据,和mysql库表中的数据进行匹配(通过id列),匹配成功就进行更新操作。如果匹配不成功,就把excel中的数据,插入到mysql的库表中。

a、创建excle文件

我在D盘下,创建一个xlsx文件,命名为bigdata。在sheet1中设计数据,第1行是文件表头,从第2行开始是数据,此文件有3列数据.。

kettle庖丁解牛第25篇之插入更新_转换_09

b、mysql库中的表数据

kettle庖丁解牛第25篇之插入更新_插入更新_10

c、创建转换

kettle庖丁解牛第25篇之插入更新_作业_11

d、excel输入设置

增加Excel文件做为数据源

kettle庖丁解牛第25篇之插入更新_kettle_12

kettle庖丁解牛第25篇之插入更新_etl_13

kettle庖丁解牛第25篇之插入更新_etl_14

kettle庖丁解牛第25篇之插入更新_插入更新_15

指定工作表

kettle庖丁解牛第25篇之插入更新_转换_16

kettle庖丁解牛第25篇之插入更新_插入更新_17

指定字段

kettle庖丁解牛第25篇之插入更新_插入更新_18

kettle庖丁解牛第25篇之插入更新_kettle_19

e、excle数据预览记录

kettle庖丁解牛第25篇之插入更新_转换_20

kettle庖丁解牛第25篇之插入更新_转换_21

kettle庖丁解牛第25篇之插入更新_转换_22

f、插入\\更新组件

kettle庖丁解牛第25篇之插入更新_etl_23

使用鼠标左键点击 Excel输入组件,按住shift键,从Excel输入组件拖拽到插入\\更新组件,拖拽后的效果如下图:

kettle庖丁解牛第25篇之插入更新_插入更新_24

g、插入\\更新设置

kettle庖丁解牛第25篇之插入更新_插入更新_25

h、运行转换

kettle庖丁解牛第25篇之插入更新_插入更新_26

kettle庖丁解牛第25篇之插入更新_插入更新_27

kettle庖丁解牛第25篇之插入更新_作业_28

kettle庖丁解牛第25篇之插入更新_kettle_29

i、验证结果表

kettle庖丁解牛第25篇之插入更新_转换_30

可以看到,通过id进行关联成功后,mysql库中的test表中的name和age列的值,已经被修改成excel文件中的数据了。excel中有2条记录和mysql的库表中关联不上的,这2条记录就insert到mysql的库表中了。

结束语

本篇文章主要讲解了:插入\\更新组件的各种详细设置,最后实战演示了,从excel文件中读取数据,然后通过插入\\更新组件,把excel中的数据和mysql库表中的数据通过指定进行关联,能关联上的,就update操作。关联不上的,就insert操作。

兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。

啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!!

以上是关于kettle庖丁解牛第25篇之插入更新的主要内容,如果未能解决你的问题,请参考以下文章

kettle庖丁解牛第34篇之常用转换组件之Add XML

kettle庖丁解牛第2篇之初识kettle

kettle庖丁解牛第10篇之表输入

kettle庖丁解牛第20篇之JSON输出

kettle庖丁解牛第14篇之JSON输入

kettle庖丁解牛第9篇之DB连接终篇