kettle庖丁解牛第25篇之插入更新
Posted 飞哥大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle庖丁解牛第25篇之插入更新相关的知识,希望对你有一定的参考价值。
引言
在上一篇文章中,我们主要讲解的是:更新组件的各种详细设置,最后实战演示了,从excel文件中读取数据,然后通过更新组件,对mysql库表中的数据进行更新操作。
在本篇文章中,我们接着介绍:kettle中的插入更新组件。
转换
转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。
创建转换
我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。
保存转换
给你新建的转换,起个名字,并保存
插入\\更新
简介
这个组件,利用查询关键字在表中搜索行。如果行没有找到,就插入行。如果能被找到,并且要被更新的字段没有任何改变,就什么也不做。如果有不同,行就会被更新。
选项说明
选项列表
选项 | 描述。 |
数据库连接 | 用来写数据的数据库连接。 |
目标模式 | 简单来说:在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列数据.。
b、mysql库中的表数据
c、创建转换
d、excel输入设置
增加Excel文件做为数据源
指定工作表
指定字段
e、excle数据预览记录
f、插入\\更新组件
使用鼠标左键点击 Excel输入组件,按住shift键,从Excel输入组件拖拽到插入\\更新组件,拖拽后的效果如下图:
g、插入\\更新设置
h、运行转换
i、验证结果表
可以看到,通过id进行关联成功后,mysql库中的test表中的name和age列的值,已经被修改成excel文件中的数据了。excel中有2条记录和mysql的库表中关联不上的,这2条记录就insert到mysql的库表中了。
结束语
本篇文章主要讲解了:插入\\更新组件的各种详细设置,最后实战演示了,从excel文件中读取数据,然后通过插入\\更新组件,把excel中的数据和mysql库表中的数据通过指定进行关联,能关联上的,就update操作。关联不上的,就insert操作。
兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。
啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!!
以上是关于kettle庖丁解牛第25篇之插入更新的主要内容,如果未能解决你的问题,请参考以下文章