Kettle 6.x 源码开发环境搭建

一、引言

Data Integration - Kettle 做为免费开源的ETL工具,能够经过其桌面程序进行ETL步骤的开发并执行。kettle以插件形式来实现每一个转换步骤的工做,发行版中已经提供了经常使用的转换清洗插件,若是还不能知足业务需求的话,则能够本身开发相应插件实现。但在使用原有插件或者自定义插件的过程当中遇到问题时,若是很差定位缘由,则能够经过源码环境来调试,能够更加方便和容易地解决问题。另外,经过源码的开发和学习,也能更加深刻地理解kettle的原理。java

二、环境准备

◆下载kettle工具包git

kettle官网找到下载地址,下载pdi-ce-{version}.zip的免安装包,本文以pdi-ce-6.1.0.1-196.zip为例,具体的地址在https://sourceforge.net/projects/pentaho/files/Data%20Integration/6.1/pdi-ce-6.1.0.1-196.zip/download。下载完成后,解压之。本文解压后命名为data-integration6.1,如图:github

◆下载kettle源码工具

前往github下载kettle源码(github上kettle源码pentaho-kettle-6.1.0.1-R最近从新发布过,按此教程搭建后代码可能报“org.pentaho.vfs.ui.VfsResolver”这个类找不到的错误,能够从这里下载旧版源码:http://pan.baidu.com/s/1kVjqUaz ),地址:https://github.com/pentaho/pentaho-kettle,从Releases发布版本中选择与上一步下载的工具对应的版本下载,最后解压源码。以下图所示:学习

选择对应版本下载zip或者gz包:ui

 

本文下载pentaho-kettle-6.1.0.1-R.zip,解压后文件夹名为pentaho-kettle-6.1.0.1-R,以下图:spa

三、开发环境搭建

具体步骤以下:操作系统

1)在Eclipse中新建java project项目kettle-src,java环境设置为JDK或者JRE,不要选JavaSE,否则会报缺乏Krb5loginModule的错误。.net

2)在kettle-src根目录下,新建core、engine、dbdialog、ui四个文件夹(注意是文件夹,非package!),并将四个文件夹设置为source folder(在文件夹上右键点击>>Build Path>>Use as Source Folder或者在项目的Java Build Path里面选择Source选项卡,将四个文件夹添加进去)。插件

3)进入源码解压包,将pentaho-kettle-6.1.0.1-R\core\src下面的内容所有拷贝到项目的core文件夹下,一样,将engine、dbdialog、ui三个文件夹src下的内容也分别拷贝到项目对应的文件夹下。

4)将源码包下pentaho-kettle-6.1.0.1-R\assembly\package-res\ui(或者工具包下ui文件夹data-integration6.1\ui)里面的内容拷贝到项目ui文件夹下。

5)进入kettle桌面工具的解压包,将lib文件夹(data-integration6.1\lib)及其里面的jar所有拷贝到项目根目录下,并删除kettle-core-6.1.0.1-196.jar、kettle-dbdialog-6.1.0.1-196.jar、kettle-engine-6.1.0.1-196.jar三个jar包,再将data-integration6.1\libswt目录下,对应操做系统的文件夹下的swt.jar(本文选择data-integration6.1\libswt\win64\swt.jar)拷贝到项目的lib下,最后将lib下全部的jar包添加到项目的build path中。

6)在项目根目录下新建plugins文件夹,而后根据须要将工具包下的plugins里面的插件拷贝到plugins目录下(若是不在项目下创建plugins目录,也能够在系统的user_home/.kettle/下面建立plugins目录,好比在C:\Users\Administrator\.kettle下面建立)。

至此,环境准备完毕,最后项目结构以下图所示:

四、运行程序

定位到Spoon.java类:/kettle-src/ui/org/pentaho/di/ui/spoon/Spoon.java,运行便可看到kettle的桌面程序了。至于JVM的参数(-Xms1024m -Xmx2048m等),也能够在Run Configurations里面进行设置,具体大小根据本身系统决定,好比:

五、总结

  • 新建项目后,java环境设置为JDK或者JRE
  • 新建core、engine、dbdialog、ui四个文件夹后须要添加为source folder,并拷贝源码包下面相应文件夹下的src下的内容到各个文件夹中
  • 还须要拷贝源码包下pentaho-kettle-6.1.0.1-R\assembly\package-res\ui里面的内容到项目ui文件夹下
  • 添加工具包的lib下的jar以及libswt下对应平台的swt.jar,kettle-core、kettle-dbdialog、kettle-engine开头的三个jar不要添加的项目的build path中
  • 若是须要使用plugins里面的功能,还须要建立plugins目录并拷贝相应内容,本身开发的插件也须要放入plugins下(固然也能够放入lib下,关于本身开发插件的方法,请关注后续文章)
  • 调试模式下运行Spoon的话,能够进行断点调试,方便排查问题

 

后记

github上kettle源码pentaho-kettle-6.1.0.1-R最近从新发布过,按此教程搭建后代码也可能有错不能运行,能够从这里下载旧版源码:http://pan.baidu.com/s/1kVjqUaz 进行搭建。

 

-------------------------------------------------------------------------------------------

你们在使用过程当中若是有什么问题(或者索取配置好可直接运行的版本),能够加QQ群:195548102一块儿讨论。

-------------------------------------------------------------------------------------------

相关文章
相关标签/搜索