介绍
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
Kettle中有两种脚本文件,作业(Job)和转换(transformation),转换完成针对数据的基础转换,作业完成整个工作流的控制。
安装
下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
下载之后解压就可以使用,不需要安装。
四大核心组件
- Chef—工作(job)设计工具 (GUI方式)。
- Kitchen—工作(job)执行器 (命令行方式)。
- Spoon—转换(transform)设计工具 (GUI方式)。
- pan—转换(transform)执行器 (命令行方式)。
使用
在windows下只需要双击Spoon.bat
即可打开软件
使用示例
该示例为在两个不同的数据库/表之间同步数据
-
新建一个转换,左边有很多组件,通过拖拽的方式将组件加入到转换中。
image.png - 首先需要一个
数据库查询
组件作为转换的数据源
image.png - 在左边双击组件进行配置,配置数据库、表名及字段
image.png创建数据库连接的时候可能会报错,这是因为缺少连接数据库的类库,如连接mysql就需要连接mysql对应的jar包
mysql-connector-java-5.1.41-bin.jar
,到网上下载后放到lib目录下即可。
- 再同样的方式添加一个
插入/更新
组件
image.png - 将
数据库查询
组件指向插入/更新
组件
image.png - 双击
插入/更新
编辑,配置数据库、表及字段。
image.png -
执行测试,成功就说明转换创建完成了
image.png - 接下来新建作业,新建完成后从左边引入
START
和转换
两个组件,并从START
连接到转换
image.png - 配置
START
,也就是配置定时任务
image.png - 配置
转换
,选择上面保存的转换文件
image.png -
执行测试
image.png - 完成
在linux系统中只需要执行
./kitchen.sh -file=作业文件路径
即可完成定时任务的启动
网友评论