![](https://img-blog.csdnimg.cn/454355ac706d46408b3c7ae9543f26bb.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
KETTLE笔记
掌握KETTLE这个ETL工具对于经常进行ETL操作的小伙伴还是比较有帮助的
飞天小老头
这个作者很懒,什么都没留下…
展开
-
Kettle中Clone row组件的使用
“Clone row”组件使用起来比较简单,根据具体需求对原数据的每一行进行克隆,可以选择克隆一行或多行。将算子“Clone row”拖拽到转换页面中,如图 1-1所示,原始文件中数据如图 1-2图1-1图1-2双击“Clone row”,配置参数,如下图所示查看结果数据,如下图所示上图结果数据中,红框中的数据为原数据,绿色框中的数据为克隆的数据,可以看到是和配置参数相符的。...原创 2021-10-24 15:50:21 · 423 阅读 · 0 评论 -
Kettle中“Switch/case“组件的使用
“Switch/case”算子的组要作用就是匹配一个字段中的所有值,符合条件的发送给下一个算子,这里以不同班级的学生为例子,以班级做区分分别发送给不同的算子,这里为了方便后续算子都使用“空操作(什么也不做)”算子。完整的流程如图 1-1,原始文件中的数据如图1-2图1-1图1-2上图中的流程,以班级做区分一班->空操作1、二班->空操作2、三班->空操作3双击“Switch/case”算子配置相关参数,如下图所示通过“Preview data”分别查看空操作1、原创 2021-09-16 17:23:44 · 5187 阅读 · 0 评论 -
Kettle中“设置字段值“组件的使用
“设置字段值”组件使用起来比较简单,就是一个将字段中的值替换另一个字段中的值.文件中的数据如下图所示将“设置字段值”组件拖拽到转换页面中,配置参数,如下图所示结果数据如下图所示通过结果数据可以看出column1字段中的值已经被column2中的值所替换....原创 2021-09-15 16:37:54 · 2281 阅读 · 0 评论 -
Kettle中“行转列“的使用
“行转列”组件,在此工具中就是将横表转为竖.1. 文件中数据如下图所示2. 将“行转列”算子拖拽到转换页面中并配置参数,如下图所示3. 运行流程,查看数据,结果数据如下图所示通过结果数据可以看到,原文件中的数据按照配置进行了行转列操作....原创 2021-09-15 16:31:24 · 3769 阅读 · 0 评论 -
Kettle中“根据字段值改变序列”的使用
“根据字段值改变序列”算子的作用就是根据一个或多个字段进行分组,然后对组内数据进行标记,标记数字的起始值和递增值可以根据需求进行设定,注意:在使用这个算子时需要配合“排序记录”算子使用,在配置完参数时点击确认时会提示:“if incoming data is not sorted on the specified keys, only consecutive identical row will be considered .We recommend sorting the incoming data原创 2021-08-15 14:45:13 · 1525 阅读 · 4 评论 -
Kettle中“数值范围”的使用
“数值范围”算子,可以根据需求对已设定好范围内的数值进行标记。文件中的数据如下图所示将“数值范围”算子拖拽到转换页面中,并配置参数,如下图所示查看结果数据,如下图所示 可以看到绿色框中的值,就是我们已经设定好的标记值,红色框中的就是不在已设定取值范围内的值的标记,由结果可以看出是和已配置好的参数保持一致的。...原创 2021-08-15 14:33:44 · 1198 阅读 · 0 评论 -
Kettle中“排序记录”的使用
“排序记录”作用很简单,就是对字段进行排序,一般很都是配合“去除重复记录”和“记录集连接”使用的,这里就简单介绍下排序记录的使用。核心对象->转换->排序记录,将“排序记录”拖拽到转换页面配置参数,选择排序字段(data2),然后选择排序方式(降序),如下图所示库表中数据如图 3-1所示,结果数据如图 3-2所示从结果可看出原表中的无序数据已经变成降序排序的数据。...原创 2021-08-15 14:20:41 · 3810 阅读 · 0 评论 -
Kettle的“字符串替换”的使用
“字符串替换”的主要用途就是字面理解,根据正则表达式或者直接将其他字段的值(前提是字符串类型的)替换掉目标字段中的值,在ETL过程中也是经常使用的一个功能算子,不过对正则表达式要有一定了解,下面介绍如何使用此功能算子。核心对象->转换->字段拆分,将“字段拆分”拖拽到转换页面中,如下图所示配置参数,选择需要进行拆分的字段->输入分隔符->输入拆分后的字段名及字段属性,如下图所示原始文件中数据如图 2-1所示,结果数据如图 2-2所示可以看到结果数据就是原始文件中原创 2021-08-15 14:15:00 · 7903 阅读 · 0 评论 -
Kettle连接大数据集群Hadoop
Ketlle提供了hadoop集群的连接配置模块,在配置“Hadoop cluster”之前要做一些准备工作,将集群中的相关配置文件复制到kettle中的目录中,替换掉原目录中的文件。 1. 需要的配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、hbase-site.xml、hive-site.xml,这些配置文件中前四个是连接hadoop所必须的,后面的两个看具体需求,如果也需要那就需要在集群中拷贝下来。 2. 文件原创 2021-03-30 01:00:02 · 1762 阅读 · 4 评论 -
Kettle中“字符串操作”功能算子的使用
ELT过程一般都是避免不了对字符串的操作,kettle中的“字符串操作”可以很便捷的帮我们处理一些关于字符串的问题,下面先对“字符串操作”的几个功能做一个介绍。Trim type:用来去除字符串的首尾空白字符(如space,tab),这里可以选择去除字符串头部空白字符(left),字符串尾部空白字符(right),头尾都去除空白字符(both)。Lower/Upper:就是简单的大小写转换,当然只是针对于英文字符的,汉字和数字是无效的。Padding:追加字符串,可以选择头部追加(left),或者原创 2021-03-25 18:29:40 · 6775 阅读 · 0 评论 -
Kettle的“增加校验序列”的使用(校验数据是否发生变化)
“增加校验序列”功能算子我个人一般使用的较少,主要是用于检测数据是否发生变化,可以根据不同的类型进行校验,比如MD5、CRC32等校验方式,这里以MD5举例,说一下MD5校验的作用,以文件来说,如果文件传输过程中增加了MD5的校验可以根据校验值来判断文件在传输中是否发生了改变,保证数据正确性,可以说是文件的数字指纹,保障唯一性,可以通过数据传输前后的MD5校验值的比对来进行判断,这里大家如果有还是存在疑问,可以查询一下MD5等一些校验数据方式的原理就很容易理解了。 举例一个简单的业务场景,比如说一个原创 2021-03-25 14:19:37 · 1436 阅读 · 0 评论 -
Kettle的“增加序列”(自增字段)的使用
增加序列”就是在流字段中加一个字段,简单的说就是可以把这个字段当成标记行号的一个字段或者字段值自增的字段,会根据具体设定的值来决定起始值和增长值,这里介绍如何使用“增加序列”。1.核心对象->转换->增加序列,将此模块拖拽到转换中,如下图所示2.配置参数,设置字段的起始值和增长值,这里设置的起始值为1,增长至为2,如下图所示3.结果数据如下图所示使用起来还是比较简单的,通过结果数据可以很好的观测效果,我个人平时对于“增加序列”使用较少,但是这里还是介绍一下,希望对有需要的朋友能原创 2021-03-25 14:02:37 · 7785 阅读 · 0 评论 -
Kettle生成UUID(随机数)的使用
在使用Kettle进行数据入库的时候,经常会涉及到为ID字段生成唯一标识,而UUID通常是我们生成唯一表示的选择,这个时候就需要使用到“生成随机数”功能算子,通过“生成随机数”可以生成UIID,下面就介绍下如何使用。1.在核心对象中选择“输入“->”生成随机数”,将”生成随机数“功能算子拖入到转换页面当当中,如下图所示2.双击“生成随机数“,然后输入字段名,再进行选择随机数类型,数据库中ID一般采用UUID这里也是以UUID作为示例,如下图所示3.到这里生成随机数就配置完成了,不过这里生原创 2021-03-25 13:50:17 · 6627 阅读 · 0 评论 -
Kettle中的去除重复记录
1.选择一个输入源这里使用的是Excle文件作为输入源,文件中数据如下2.选择去除重复记录功能算子转换 --> 去除重复记录,如下图3.配置相关参数上图红框中的”字段名”就是你想要去重的字段名,后面的”忽略大小写”这就就根据实际情况进行选择,这里我们先以”type”字段作为去重项这个时候就会提示你,要先以去重字段进行排序,如下图:所以在使用”去除重复记录”这个转换算子之前一定要对去重字段进行排序。4.使用”排序记录”在”转换模块中”有一个”排序记录”,这个就是我们用来排序的转原创 2021-01-17 12:07:49 · 5386 阅读 · 4 评论 -
kettle中的剪切字符串
Kettle中的剪切字符串的作用就是通过该功能剪切出自己想要的字符串,并保留下来,而不是将剪切出来的字符串抛掉。首先选择一个数据的输入源,我这里使用的是’表输入’,如下图表中数据如下:将转换模块下的‘剪切字符串’拖入到转换窗口当中,或者双击也可以。如下图所示:双击”剪切字符串” --> “点击获取字段(或者自己输入字段也可以)这里可以看到只获取到了表中的两个字段name和gender,因为表中的age字段的数据类型是int所以无法获取到,这里只能获取到string类型的数据,当原创 2021-01-16 15:10:44 · 6884 阅读 · 0 评论 -
KETTLE中的列拆分为多行
KETTLE中的列拆分为多行这里的”列拆分为多行”其实和hive中的炸裂函数”explode”是差不多的,都是列转行的操作,使用起来还是很简单的。将’列拆分为多行’模块拖入到转换界面当中,双击进入’列拆分为多行’的参数配置窗口,如下图所示进行参数的配置,在”要拆分的字段”选择自己所要操作的字段,在”分隔符”填入想要按照什么分隔符进行拆分,在”新字段名”中填入新生成列的字段名。到这里参数的配置就完成了,点击确认就可以了。运行转换,对比数据结果,图一为原字段和字段内容,图二为拆分后的字段和字段内容原创 2020-11-24 01:11:46 · 2302 阅读 · 0 评论 -
Kettle中的值映射的使用
KETTLE中的值映射的使用用法一:生成新的一列,并且根据自己的需求,将对应值进行更改在整个转换流程中添加一个”值映射”双击”值映射”,在”值映射”配置窗口中进行配置进行参数配置,配置讲解如下:”使用字段选择”:选择好自己需要更改值的字段名(color);”目标字段名”:就是所要生成新的一列的字段名(new_color);“不匹配时的默认值”:就是所选择的”使用字段名”的列中的值在没有匹配到的时候的默认值(紫色);“字段值”:可以看到在”字段值”的下方有一个表格状的输入框,有”源值”原创 2020-11-23 03:03:03 · 6509 阅读 · 2 评论 -
KETTLE中的Excle输出
KETTLE中的Excle输出核心对象 --> 输出 --> Excel表输出,将Excel输出拖入到转换页面中,或者双击都可以。双击”Excel输出”,在”Excel输出”窗口中进行参数的配置,这里最好将扩展名中默认填写的xls去掉,如果不去掉在生成文件会是以“file.xls.xls”形式呈现在”文件名”可以选择文件的存储路径,然后点击保存即可可以在”内容”中设置编码格式,Sheet表名等,在”格式”中设置字体等一些相关配置,如下图这里的参数配置根据个人的需求来定,这里写原创 2020-11-21 01:34:23 · 1360 阅读 · 0 评论 -
KETTLE的文本文件输出
KETTLE的文本文件输出核心对象 --> 输出 --> 文本文件输出双击”文本文件输出”,进入到”文本文件输出”的参数配置界面,在”文件名称”中选择自己所要输出的文本文件,其他输入框中的参数则是根据自己的需求来定,这里就不一一讲解了,都是能读懂的。选择内容,输入字段之间的分隔符(这里的字段分隔符指的是,输出到文本文件中后字段之间分隔符),其他参数照常按照需求来填写点击字段,再点击获取字段,字段的类型和格式等参数可以自己进行调整,再点击确定就可以了,”文本文件输出”到这里就配置完原创 2020-11-19 01:41:45 · 3945 阅读 · 4 评论 -
kettle的表输出
kettle的表输出在使用表输出的时候肯定是要有输入的,输入这部分就不详细讲解了,下面的例子输入是使用csv文件的输入,主要介绍一下表输出,步骤:核心对象 --> 输出 --> 表输出,将表输出模块拉入到转换模块当中。配置表输出相关参数,双击表输出,可以看到参数配置的窗口,大体上和表输入的配置参数差不多,首先将”数据库连接”配置好,我这里使用的还是mysql作为连接数据库,点击新建(如果有已经建立好的连接是可以直接使用的),连接界面如下在配置好连接后,就可以选择所要输出的表,在目标表原创 2020-11-18 01:56:52 · 3461 阅读 · 2 评论 -
KETTLE使用通配符匹配多个文件输入到一张表中
使用通配符匹配多个文件输入到一张表中在有些业务场景中,可能会有多个文件内部的数据都是相同类型的,一个一个文件的做输入会很麻烦,这个时候我们就可以通过通配符,即将多个内部数据结构一样的文件作为一张表输入。核心对象 --> 输入 --> 获取文件名,将”获取文件”拖入到转换页面中双击”获取文件名”,打开“获取文件名的参数配置窗口”,预览选好路径,再将正确的正则表达式填入,然后点击增加,做完后点击一下预览看看是否有获得自己想要的文件,最后点击确认就可以,可按照下图的流程来执行。根据自己原创 2020-11-17 01:43:54 · 3760 阅读 · 0 评论 -
KETTLE中表输入
KETTLE中表输入在核心对象中选中“输入”->”表输入”,将“表输入”拖入到新建的转换页面当中双击“表输入”,可以看到界面中有”数据库连接”,我们可以点击新建,然后将连接数据库的JDBC或者ODBC或者其他的配置参数正常填入,这里我们还是使用mysql作为示例,如下图。在数据库连接建立成功之后,接下来就是要选取作为数据输入源的库表了,点击”获取查询SQL”,然后选择对应的库表,按照下图顺序执行即可在选好库表后,我们还可以再对应的输入框中使用sql语句来查询我们想要的数据作为数据的输原创 2020-11-14 22:46:55 · 1560 阅读 · 0 评论 -
KETTLE文本文件输入
KETTLE文本文件输入在核心对象中选定“文本文件输入“后,将其拖入到转换页面当中双击“文本文件输入”进入参数配置界面和之前的Excel文件输入一样,将根据提示在相关的输入框填入相关的参数即可,填好后出现如下界面按照上图中标注顺序执行即可,在配置完参数后,最好点击一下“显示文件内容”看是否可以正常读取到文本。在完成以上操作后,点击“内容”,看到相关页面后,在分隔符中输入文本中字段间的分隔符,我这里的测试文本是使用“,”用来做分隔符的上图中蓝色框标记的内容可以根据自己的需求选择头部的行数原创 2020-11-12 01:02:19 · 3899 阅读 · 0 评论 -
KETTLE中Excel表输入
KETTLE中Excel表输入在选定好Excel文件输入功能模块后,我们将其拖入到转换页面当中双击Excel输入,进入到参数的配置界面在这配置页面我们可以看到有Excel文件的版本选项,和路径选项,下方的正则表达式,可以用来匹配一个路径下所有符合条件的文件,这个看个人的需求使用,在选择表格类型的时候一定要选择正确,不然是读不到文件的。在填写完表格类型、文件或目录后,点击增加即可,就会在选择的文件那里出现你所要操作的表格完成上步操作后,在点击上方的工作表,然后点击获取表名,会出现如下界面原创 2020-11-11 23:52:18 · 3453 阅读 · 1 评论 -
KETTLE的资源库配置及环境部署
kettle的环境部署及资源库配置1. kettle的环境部署在使用kettle之前首先要部署JVM环境,就是先将JDK配置好,这样才能正常使用,安装kettle的过程这里就不细说了,在安装好kettle后,在kettle目录下面找到spoon.bat和spoon.sh文件,spoon.sh文件实在linux下启动kettle的启动文件,spoon.bat文件是在windows下启动kettle的启动文件,在windows上直接双击spoon.bat文件即可,在linux下运行spoon.sh脚本即可。原创 2020-11-11 01:28:28 · 1911 阅读 · 0 评论