博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kettle 6.x 源码开发环境搭建
阅读量:5878 次
发布时间:2019-06-19

本文共 2718 字,大约阅读时间需要 9 分钟。

hot3.png

1、引言

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

2、环境准备

◆下载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,如图:

091436_37pP_2314065.png

◆下载kettle源码

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

143247_hqg1_2314065.png

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

143403_goZp_2314065.png

 

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

092001_l44R_2314065.png

3、开发环境搭建

具体步骤如下:

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

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下面创建)。

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

174556_r4Iz_2314065.png

174644_Qhg9_2314065.png 174705_AVCx_2314065.png

4、运行程序

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

175300_Cr2s_2314065.png

5、总结

  • 新建项目后,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最近重新发布过,按此教程搭建后代码也可能有错不能运行,可以从这里下载旧版源码: 进行搭建。

 

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

大家在使用过程中如果有什么问题(或者索取配置好可直接运行的版本),可以加QQ群:195548102一起讨论。

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

转载于:https://my.oschina.net/nivalsoul/blog/779968

你可能感兴趣的文章
丢包补偿技术概述
查看>>
PHP遍历文件夹及子文件夹所有文件
查看>>
WinForm程序中两份mdf文件问题的解决
查看>>
【转】唯快不破:创业公司如何高效的进行产品研发管理
查看>>
程序计数器、反汇编工具
查看>>
Android N: jack server failed
查看>>
007-Shell test 命令,[],[[]]
查看>>
关于Linux系统使用遇到的问题-1:vi 打开只读(readonly)文件如何退出保存?
查看>>
pandas 按照某一列进行排序
查看>>
在WPF中如何使用RelativeSource绑定
查看>>
Map的深浅拷贝的探究
查看>>
XSLT语法 在.net中使用XSLT转换xml文档示例
查看>>
如何将lotus 通讯簿导入到outlook 2003中
查看>>
WinForm 应用程序中开启新的进程及控制
查看>>
前端工程师的职业发展路线在哪?
查看>>
IOS 内存警告 Memory warning level
查看>>
[转]PAC Manager: Ubuntu 上强大的 SSH 帐号管理工具,可取代 SecureCRT_Miracle_百度空间...
查看>>
顺序容器 (2)string类型操作
查看>>
转载:我最近的研究成果(IGeometry.Project and IGeometry.SpatialReference)
查看>>
提示框
查看>>