kettle开发快速入门

kettle开发

需求

  • ETL数据抽取预研

思路/分析

  • 版本选取

kettle是当前比较流行的ETL工具,纯JAVA编写,适合我们,这里我从网上选择了最新的8.3版本,方便以后扩展一些新组件

  • 代码选取

有两种开发方式,1是ZIP文件安装开发,2是源码自定义开发
直接准备利用源码安装开发,考虑以后会自定义开发

kettle开发

环境

jdk1.8
windows环境

  • kettle中文网

http://www.kettle.net.cn/1446.html

可以先大致看一下中文网,感受一下.

  • kettle UI使用界面文档

https://help.pentaho.com/Documentation/8.3

UI使用都在这里了.

  • kettle JAVAdoc

https://javadoc.pentaho.com/kettle830/

主要用来看JAVA类是怎么使用的

下载

  • 可以直接用的版本

    https://community.hitachivantara.com/docs/DOC-1009855

最新版本为8.3版本, 因为是绿色版本, 下载后直接解压就行了. 执行data-integration/Spoon.bat进行启动

  • 源码版本

https://github.com/pentaho/pentaho-kettle

这个为github源码版本, 请选择下载branch/8.3.0.2的源码zip包就行了

https://github.com/pentaho/pentaho-kettle/tree/8.3.0.2

安装

仔细阅读readme.md执行如下2步

  1. 下载他们readme.md中的setting.xml

  2. 执行这个命令

mvn clean install --settings C:\Users\DELL\.m2\settings.xml -Dmaven.test.skip=true
  1. 可能要手动下载common-3.6.200-v20130402-1505.jar

https://mvnrepository.com/artifact/org.eclipse.equinox/common/3.6.200-v20130402-1505

  1. ~\assemblies\client\target\xxx.zip 里面直接解压zip包 进去后直接运行会发现spoon.bat启动不了或者没有只有spoon.sh,这时候需要修改ui包下的pom.xml图形界面为windows , 重新编译即可以运行zip包
<dependency>
    <groupId>org.eclipse.swt</groupId>
    <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
    <version>4.6</version>
</dependency>

idea 导入源码

  • 修改ui包下的pom.xml图形界面为windows
<dependency>
    <groupId>org.eclipse.swt</groupId>
    <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
    <version>4.6</version>
</dependency>
  • 启动spoon

[外链图片转存失败(img-leO1rSFj-1565946389308)(https://avalon-zheng.xin/static/static-front/upload/3f5e9962-28f7-43e0-9950-0186e4c3150a “”)]

  • 问题1 (没有跳过)

[外链图片转存失败(img-jXmBdtkQ-1565946389313)(https://avalon-zheng.xin/static/static-front/upload/627298af-3e3c-4281-be40-86c57f70c4b4 “”)]

上面图形界面没有加好.修改依赖linux位于win下或者直接删除linux

[外链图片转存失败(img-QKwxxAga-1565946389319)(https://avalon-zheng.xin/static/static-front/upload/eff458e6-43eb-4235-a4b6-e92e22553e85 “”)]

  • 问题2(没有跳过)

[外链图片转存失败(img-G4jurqLw-1565946389325)(https://avalon-zheng.xin/static/static-front/upload/b9085395-3b29-4c15-8773-0669ec522a9e “”)]

把编译后的data-integration\ui下所有文件复制到ui\src\main\resources\ui

[外链图片转存失败(img-P88BuJXX-1565946389330)(https://avalon-zheng.xin/static/static-front/upload/ad2caadd-f658-4125-a846-e3c5132616b6 “”)]

  • 问题3(没有跳过)

[外链图片转存失败(img-fPhYmuro-1565946389335)(https://avalon-zheng.xin/static/static-front/upload/752c1b33-475c-40f0-8d95-90cda82d3411 “”)]

把编译后的lib下文件加入到swt-ui依赖中

[外链图片转存失败(img-tY6JROmb-1565946389340)(https://avalon-zheng.xin/static/static-front/upload/d840d988-f2c4-4efb-b188-39c511c91ebb “”)]
[外链图片转存失败(img-tQioQeVt-1565946389344)(https://avalon-zheng.xin/static/static-front/upload/a3ed2d21-2c80-45c5-a5b0-485122659b13 “”)]

  • 问题4(没有跳过)

[外链图片转存失败(img-THX9Vej5-1565946389351)(https://avalon-zheng.xin/static/static-front/upload/cd6635d8-409e-4f1e-a34b-e244fee87c41 “”)]

mvn clean -Dmaven.test.skip=true

maven生成的target会有问题!

  • 启动spoon.java

最后成功启动

问题

暂无

组件使用

主要分为2步

  1. 转换
    转换就是ETL的核心
  2. 作业
    相当于定时任务

简单的组件使用后续补上

你可能感兴趣的:(kettle开发快速入门)