kettle基础教程-kettle9教程

kettle是啥?

一款免费开源的、功能强大的ETL工具,纯 java 开发。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

一.安装部署

1.JDK1.8安装及环境变量的配置

https://blog.csdn.net/weixin_39549656/article/details/79540644

2.kettle9安装与启动

kettle下载目录:

https://sourceforge.net/projects/pentaho/files/

kettle9.2下载地址:

https://sourceforge.net/projects/pentaho/files/Pentaho-9.2/client-tools/pdi-ce-9.2.0.0-290.zip/download

下载解压之后windows直接执行 Spoon.bat 即可启动(linux执行spoon.sh)。

3.创建资源库(repository)

点击右上connect图标

先选择 Other Repositories ,可以创建文件资源库或者数据库资源库:

Database Repository

Unsupported ETL storage that uses a database

File Repository

Unsupported ETL storage that uses your local file system

很简单根据提示,一步步创建就可以了,本教程只创建 File Repository 文件资源库。

二.简单ETL开发

kettle主要有2种格式开发文件,一个是作业(.kjb)、一个是转换(.ktr)。作业处理任务流,转换处理数据流。

1.转换开发(表对表同步数据)

1.1 创建转换

文件->新建->转换, 或者 CTRL-N。

1.2 新建表输入 

核心对象->输入->表输入  ,选中后拖到右边面板。

1.3 配置表输入,选择数据库(首次使用的库 要 新建连接)

 注:

mysql需要下载jdbc包(oracle自带驱动),放到kettle的lib/目录里,下载可参考以下连接:

https://www.runoob.com/java/java-mysql-connect.html

建议mysql 8以下用 mysql-connector-java-5.1.39-bin.jar

8以上用 mysql-connector-java-8.0.16.jar

1.4 表输入预览数据

点击 表输入 -> 预览 ,可以查看表输入的部分数据。

1.5 表输出

核心对象->输出->表输出  ,选中后拖到右边面板。

1.6 新建数据流连接

按住 Shift 键,把表输入和表输出用数据流线连接起来。

1.7 配置表输出,选择数据库(这里还用之前的库,创建一张结构相同的表)

1.8 预览或执行转换

 

 

 

2.作业开发(作业流程设计:先设置变量->执行同步的转换(sql引用变量)-> 结果再设置为变量->弹窗显示数据)

2.1 新建作业

文件->新建->作业, 或者 CTRL-ALt-N。

2.2 增加组件:

通用->start,设置变量、转换、成功。

应用->显示消息对话框

按住 Shift 键,用任务流箭头线连接组件。

 2.3 设置变量tid=1

2.4 引用刚才开发的转换test_xxx

2.5 修改转换test_xxx,sql里引用变量,并将查出来的结果设置为新的变量。

 

  

2.6 设置消息对话框内容

2.7 执行作业

2.8 执行结果

三 总结:

1.转换(ktr)主要是做数据流,

数据的输入、输出、计算、转换等。

2.作业(kjb)主要是做任务流,

用来设计作业的流程,每个组件和步骤是可以有依赖关系的。可以在作业里串行或并行调用多个转换。

3.这个基础教程就先写这些,有机会再做个高级点的。

因为kettle里的 转换(ktr)、作业(kjb)组件众多,讲是肯定讲不过来的,大家还是自己多测试多研究,用多了就熟练了。

4.有个 Kettle中文网 挺不错的,里边有好多实用的例子,这里推一下:

https://www.kettle.net.cn/category/kettle

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
kettle9是一个数据集成和ETL工具,由Kettle项目开发而来。它提供了可视化的界面,使用户能够通过简单的拖拽和配置来设计数据转换和处理的工作流程。Kettle9支持多种类型的数据源,包括关系型数据库、文件、Web服务等,可以方便地对数据进行抽取、清洗、转换和加载等操作。 而kettle-scheduler是基于Kettle9的调度器组件,它提供了一套功能丰富的调度管理和监控机制,可以用于定时执行和控制Kettle9的作业和转换任务。通过kettle-scheduler,用户可以灵活地设置作业的运行时间、频率和触发条件,也可以监控作业的执行状态和运行日志。 kettle-scheduler的核心功能包括以下几个方面: 1. 作业调度管理:kettle-scheduler可以根据用户的需求,设置和管理Kettle9作业的调度计划,包括作业的触发时间、频率、依赖关系等。用户可以设定一次性的任务,也可以设置周期性的任务,以满足不同的业务需求。 2. 作业监控和报警:kettle-scheduler可以实时监控作业的执行状态和运行日志,当作业运行出现异常或错误时,可以及时发送报警通知给相关人员,以便及时处理和修复。 3. 作业并发控制:kettle-scheduler可以设置作业的并发执行数量,以控制任务的同时运行数量,避免资源的过度占用和冲突。 总之,kettle9和kettle-scheduler是一套强大的数据集成和调度管理工具,能够帮助用户更高效、灵活地处理和管理数据任务,提高数据的处理效率和准确性。同时,它的可视化界面和丰富的功能也使得用户操作起来更加简单和便捷。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值