工具背景

  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版本:

java etl开发主要做什么 java etl工具_使用手册

解压完后出现data-integration包

java etl开发主要做什么 java etl工具_jar包_02

目录结构如下:

java etl开发主要做什么 java etl工具_jar包_03

下面添加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中对应包内

java etl开发主要做什么 java etl工具_JAVA_04

Linux下放入lib包内即可

java etl开发主要做什么 java etl工具_java etl开发主要做什么_05

Oracle 连接所需jar包找到对应Oracle安装文件包,jdbc包下lib里直接复制对应jar包放入data-integration下的lib/libswt内。

我的Oracle版本为11g,对应ojdbc6.jar

java etl开发主要做什么 java etl工具_jar包_06

Jar包配置完毕后回到data-integration中找到启动文件

Spoon.bat(Windows)/Spoon.sh(Linux),Linux启动前需给所有sh文件赋予执行权限。

工具界面如图:

java etl开发主要做什么 java etl工具_JAVA_07

 


工具使用

点击转换出现组件列表:

java etl开发主要做什么 java etl工具_jar包_08

现在要连接mysql数据库提供数据源,选取输入下的表输入

java etl开发主要做什么 java etl工具_jar包_09

双击组件图标进入编辑界面:

   

java etl开发主要做什么 java etl工具_java etl开发主要做什么_10

建立数据库连接:

java etl开发主要做什么 java etl工具_Kettle_11

将对应配置输入后测试成功则连接完成

java etl开发主要做什么 java etl工具_使用手册_12

之前jar包版本不对应可能会出现无法连接情况,更换对应jar包即可。

也可建立job工作流,可以接受外部jdbc的properties配置信息:

java etl开发主要做什么 java etl工具_JAVA_13

java etl开发主要做什么 java etl工具_Kettle_14