工具背景
Kettle 一款基于java的免费开源软件,是目前比较流行的一款可视化、功能强大的ETL工具。用于单个、多个数据库数据抽取和维护加工时非常高效。可在Windows、Linux、Unix平台上部署运行,绿色无需安装。提供两种脚本文件ransformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。自身提供图形界面,操作方便,易于掌握。Job下配有start模块,拥有定时功能,可以在设定时间周期启动工作流对数据库进行操作,缺点是一直会占用一个进程,容易造成内存溢出。
工具部署
Kettle下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
目前最新版本kettle8不推荐下载,在配置过程中易出现对数据库版本和jar包不兼容的情况,目前推荐7.1版本。
Java版本:
解压完后出现data-integration包
目录结构如下:
下面添加jdbc连接所需jar包:
我的mysql版本为5.6 针对kettle7.1版本对应jar包
Mysql-connector-java-5.1.25.jar
其他版本jar包下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java/
注: kettle 版本对jdbc 版本要求好像比较严格,得选择合适版本的才能匹配,否则在java项目中集成会出现错误。
下载后
Windows下放入data-integration下的libswt中对应包内
Linux下放入lib包内即可
Oracle 连接所需jar包找到对应Oracle安装文件包,jdbc包下lib里直接复制对应jar包放入data-integration下的lib/libswt内。
我的Oracle版本为11g,对应ojdbc6.jar
Jar包配置完毕后回到data-integration中找到启动文件
Spoon.bat(Windows)/Spoon.sh(Linux),Linux启动前需给所有sh文件赋予执行权限。
工具界面如图:
工具使用
点击转换出现组件列表:
现在要连接mysql数据库提供数据源,选取输入下的表输入
双击组件图标进入编辑界面:
建立数据库连接:
将对应配置输入后测试成功则连接完成
之前jar包版本不对应可能会出现无法连接情况,更换对应jar包即可。
也可建立job工作流,可以接受外部jdbc的properties配置信息: