Kettle
Kettle简介
-
Kettle是一款开源的ETL工具,纯java编写,用于数据库间的数据迁移,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
-
Kettle工程存储方式
(1)以XML形式存储
(2)以资源库方式存储(数据库资源库和文件资源库) -
Kettle的两种设计
-
Kettle的结构
-
Kettle下载
下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
源码下载https://gitee.com/mirrors/Kettle/tree/9.2.0.0-R/
下载好解压即可。
但需要JDK的环境以及环境配置(这个就是Java环境的配置即可,在命令行中输入java -version,javac能得到想要的结果即成功),需要mysql的驱动包(将mysql-connector-java-8.0.16.jar文件复制到kettle所安装的kettle-pdi-ce-7.1.0.0-12\data-integration\lib下)。1
Kettle的目录文件,如下所示:
-
Kettle启动,双击spoon.bat/spoon.sh。
Kettle界面:
Kettle使用
案例1. 转换:把数据库中表1的数据按id同步到表2,表2有相同id则更新数据
-
在mysql创建两个表,k1和k2,分别存放一些数据。
-
在kettle中文件—>新建—>转换,在主对象树中转换下选择DB连接—>右键—>新建
测试后出现上图表示连接成功,即可“确认”。 -
在核心对象中选择输入—>表输入,拖出
-
现在我们需要把输入k1的数据同步到k2输出的数据
双击插入/更新进行配置。
注:上述图片去掉age字段,因为表2没有age字段 -
在转换前需要先保存,运行结束后,我们可以在下方看到运行结果,其中有日志,数据预览等。
- 在更新的情况下,查看此时表k2的数据。
选择不更新(N)
表k2
案例2. 作业:使用作业执行上述转换
- 新建一个作业。
- 从左侧依次拖动 START 、转换、成功到右侧,并用线连接起来。
- 双击 START,配置(可以配置作业的运行间隔,每隔一段时间,可以把原表数据迁移到目标表。)
- 双击转换,选择之前新建的那个转换。
- 保存后,点击运行,就能运行这次作业。在下方执行结果,可以看到运行的日志。
案例3
kettle关于源码和二次开发的链接
ETL之kettle进行二次开发简单demo: https://blog.csdn.net/qq_21178933/article/details/54576458
kettle工具二次开发-代码启动JOB: https://blog.csdn.net/fengshuiyue/article/details/10054623
kettle工具二次开发-代码启动JOB: https://www.cnblogs.com/pangblog/p/3268626.html
L工具——kettle插件开发(基础篇): https://pslff.iteye.com/blog/859781
Kettle api 二次开发之 日志的保存: https://www.cnblogs.com/Leechg/p/7195859.html
Kettle二次开发代码分析: http://blog.sina.com.cn/s/blog_8fbeeb590100wp8t.html
kettle插件二次开发: https://blog.csdn.net/mar_ljh/article/details/81698888
【kettle】10分钟搞定kettle源码部署: https://blog.csdn.net/zhong12270107/article/details/82156893
Kettle作业步骤循环执行的实现: https://blog.csdn.net/maenlai0086/article/details/80975063
Kettle开发之常用步骤开发: https://blog.csdn.net/qq_21178933/article/details/54729868
Kettle的使用分享: https://blog.csdn.net/u011031430/article/details/76183960
kettle工具二次开发-代码启动JOB: http://www.cnblogs.com/pangblog/p/3268626.html
个人工作_kettle之插件开发: http://blog.itpub.net/134308/viewspace-700812/
利用Kettle进行数据同步(下): https://segmentfault.com/a/1190000015182646
e中定义错误处理: https://qq85609655.iteye.com/blog/1936858
开源 ETL 工具 Kettle: https://www.oschina.net/p/kettle
Kettle插件开发调试环境搭建{一}: https://bbs.csdn.net/topics/391949597
kettle工具二次开发: http://www.itkeyword.com/doc/8564861180171453087/kettle
kettle工具二次开发-代码启动JOB: https://www.bbsmax.com/A/rV573eVj5P/
kettle工具的设计模块: https://www.cnblogs.com/zlslch/p/6907926.html
【kettle】10分钟搞定kettle源码部署: https://blog.csdn.net/zutsoft/article/details/52998148
Kettle 安装和配置: https://www.jianshu.com/p/936725cc0235
参考链接
kettle入门实战
kettle教程
kettle的基础概念入门、下载、安装、部署
大数据ETL开发之图解Kettle工具(入门到精通)
Kettle入门系列之 二 (简单介绍文件转换)
kettle数据转换2