KETTLE使用手册-02

Kettle是一个开源的ETL工具,通过kjb和ktr管理数据抽取、转换和加载过程。手册详细介绍了配置Oracle和MySQL数据库连接,创建作业和转换的步骤,包括设置变量、使用控件设计流程。转换部分以一个生成法定节假日日历并存储到数据库的示例,展示了如何设置参数、使用各种转换步骤如生成记录、序列、JavaScript脚本等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KETTLE使用手册


介绍:Kettle是一个开源的ETL工具,它可以实现数据的抽取、转换、和加载。在Kettle中,数据抽取和转换的处理过程是通过kjb(作业)和ktr(转换)来实现的。本手册将介绍如何配置数据库连接,设置变量,使用Kettle中的控件设计ETL流程。

 

  • 数据库连接配置 (需要用到数据库数据时添加)

主对象树-》DB连接

Oracle配置:

右键DB连接-》新建-》选择一般-》找到数据库Oracle-》默认Native(JDBC)方式

填写连接名称、ip地址、数据库名称、数据库端口、用户名、密码

fa559c1fe2794c5d822820d184a94091.png

Mysql配置:

右键DB连接-》新建-》选择一般-》找到数据库MySQL-》默认Native(JDBC)方式

填写连接名称、ip地址、数据库名称、数据库端口、用户名、密码

 

58fc9c5ad02b40859c49e0aae6e564d7.png

 

  • 作业 (kjb)

介绍:在Kettle中,kjb用于组织ktr,可以看作是ktr之间的调度器,而ktr则是具体的ETL操作

e7a46526361f42d2bb2c4c5b55b62faf.png

 

 

创建流程:

点击左上角上的“+”-》新建“作业”-》选取start组件添加-》添加设置变量组件-》添加转换主键-》添加成功组件

  1. Start组件: 作业或变换的起点(可根据需要设置定时器 

 

078e9b4319d94e50a28f9aa98eae27a0.png

        2.设置变量:用于设置变量,可设置变量的有效范围

                0:改步骤的名称

                1:变量的名称,规范V_参数名

                2:变量的值,固定的值或者${参数名}(获取参数重新设置有效范围)

                3:变量的有效范围,jvm,作业或者转换...

13bad5fea12e4308998fd9c0611d27a1.png

         3.转换:在整个job中可引用其它转换流程

                0:转换在改作业中的步骤命名

                1:选取该转换的绝对路径

                2:设置该转换中的参数

aa218c22ab00425abc3e11783a90930b.png

                 4.成功:作业或变换的终点

  • 转换(ktr)

介绍:在Kettle中,kjb用于组织ktr,可以看作是ktr之间的调度器,而ktr则是具体的ETL操作

(下列转换是请求互联网生成一年的法定节假日日历并存入数据库中,且生成一份excle文件到本地)

175c4f6678b34a99b42a1d10262b6056.png

 

设置该转换的参数,右键转换-》选择转换设置(ctrl+T)-》选择命名参数-》

1:参数名称(规范V_参数名)2:参数值

a28a6994d0b84aea86314c058874d341.png 1.生成记录

        1:步骤命名

        2:生成数量(因为该转换只生成当月,一个月最多31天)

        3:生成固定的字段固定值(可为空)

        4:预览,可以查看是否是需要的数据

33368f071c984d58a7a1c25095c3832a.png

2.增加序列

        1:步骤名称

        2:生成的值名称(后续引用的属性名)

        3:通过数据库来获取序列,数据库连接、序列名称

        4:通过计数器来计算序列,根据需求输入起始值,增长值,最大值

de5321277f004d62a5ad60ab729b5953.png

3. 获取变量

        获取传到转换的参数,该转换中的参数是从转换属性中设置获取到的,也可以从上一层的作业中获取

        0:步骤名称

        1:属性名,获取到变量后续使用的名称

        2:${变量名称},获取到变量

        3:变量数据类型

0f2e555dfd5c4e1eae7324a2d567bbd8.png

4. JavaScript脚本

根据自定义脚本去执行对应的操作

        0:步骤名称

        1:输入参数(从上面步骤获取到的变量,可以直接点击在代码块中使用)

 

 60a9af17b6cd4f9aa93c331370b97564.png

        必须使用连接线连接后才能获取到这些参数

        2:参数的使用,可以点击(以免出错)自动输入到代码块,也可以输入变量

        3:代码块,根据自己的需求编写JavaScript代码

        4:输出变量,可以点击获取变量直接全部添加,可以根据需求更改名称添加输出变量

c825ad9ebf674d289ff8e6cea0450b9a.png

5. http请求

 

        填写对应的url进行请求,返回对应的结果

        0:步骤命名

        1:url请求地址链接

        2:是否使用字段中的地址,还是固定地址

        3:字段中的地址的属性变量名

        4:返回结果参数名

cad297b027a74d0bb71147ea9d9355c5.png

59cc606cb6ab40ac89252ee181dfab9f.png6.Json 输入

        0:步骤名称

        1:勾选原定义在一个字段里(这里的字段名是上面结果中的result)

        2:需要解析的字段及来源格式

        如下图2:名称:解析到结果后面用的字段名,路径:要解析到的字段位置$..字段名(第一层),类型:字段的类型

53e0e4a5442e494183a4520bf5a78287.png 73824b5d2c84445c821e7d21e0d1982f.png 7. switch/case

        根据字段不同的值调用不同的目标步骤

        0:步骤命名

        1:switch字段(判断的字段)

        2:字段的值的数据类型

        3:当判断的字段等于该值时执行对应的步骤

        4:当判断的字段等于前面的值时执行的目标步骤

011985fdef64481abd3b036411dbe606.png8.设置字段值

        更改某个值为另一个变量的值

        0:步骤命名

        1:需要修改的字段名(通过前面的数据需要把某个字段设置为某个值)

        2:修改的值

a444dd05567e4022867dfa98ae029ca2.png9.过滤记录

        过滤的某个条件成立的数据

        0:步骤命名

        1:判断条件

        2: 符合下面条件的数据执行下一步的目标

e83442a659c54434b22cde98b1b21dae.png

9.字段选择

 

        选择要使用的数据字段

        0:步骤命名

        1:需要的字段,选择需要用到的数据字段

        2:重命名字段属性名

e7ed63111b894dfe98e54e74807b9b6d.png

10.插入/更新:

 

        对应数据库连接,对应的条件,对应的字段更新或新增

        0:步骤命名

        1:选择连接的数据库

        2:选择数据存放的目标表

        3:提交的数据量

        4:查询与数据库字段判断是更新还是新增的条件

        5:对应的数据库表字段

        6:对应的转换中传输出来的数据字段名

        7:是否更新时更新该字段的数据

0ab8d3b2e182491d9b55c956e3a9a712.png11.Excel输出:

        获取到的数据进行excle生成到本地,或者excle输出通过ftp上传到指定的地方

        0:步骤的命名

        1:生成文件的名称

        2:生成的文件名后缀名

ffcb4a1576ea40e7a7bd9b61f2f75225.png

内容:设置excle格式

1:对excle文件内容进行设置

2:是否追加还是新建

3:是否需要文件内的数据头

4:工作表名称

d11e2f0271504ab8bda255dc1eaad93c.png

 字段:选择上个管道输出的数据

1:excle内容取的字段

2:字段名称,可以在上一层加一个字段选择重命名

c660fa9739a84e99899749f298b59473.png

  • 简易转换(ktr)

 

78bd838b74554401a1627a977af6c2f8.png

 1. SQL脚本

用于执行自定义的SQL语句,可以用来查询、插入、更新、删除等操作。配置时需要填写数据库连接,以及SQL语句和参数等信息

1:步骤命名

2:数据库连接,选择使用的数据库

3:sql代码区域,根据需求编写sql代码,用到变量参数用${参数名}替代,变量参数命名规则:v_名称

4:是否替换语句里的变量

cebad6e170c64c1199ab2d8d5f974cfc.png2.表输入

        用于从数据库中读取数据。需要配置查询语句,数据库连接和查询参数等信息

        1:步骤命名

        2:数据库连接,选择使用的数据库

        3:sql代码区域,根据需求编写sql代码,用到变量参数用${参数名}替代,变量参数命名规则:v_名称

        4:是否替换语句里的变量

        5:预览:可以查看语句是否正确,且预览结果

190997ca0f1e4d12bbbf979aa72c8754.png

 3.字段选择

        用于选择需要操作的字段。需要选择操作类型(包括保留、删除、重命名、增加常量等)、输入字段以及输出字段信息

        0:步骤命名

        1:需要的字段,选择需要用到的数据字段

        3:获取上个步骤的所有可用参数属性

18680f704cab4fd39ddb1a7b80b1e86c.png

4.表输出

 

        用于将数据写入数据库中。需要配置表名、数据库连接,把步骤中的数据字段与表字段对应插入

        0:步骤命名

        1:数据库连接,选择使用的数据库

        2:选择数据存放的目标表

        3:是否批量数据插入

        4:工作流中的字段与数据库字段进行匹配

        5:获取到流中的字段自动匹配(需校验更改)

 af2ef2b038c84c44a3c406c02b286515.png

f38f69d0c7c649f3869599939be3d387.png  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值