admin管理员组文章数量:1564190
Kettle标榜的就是绿色运行无安装,不过有些环境运行起来很麻烦,这里有一些相关的总结,希望可以帮助到使用Kettle十分崩溃的初学者,当然我也是其中之一。Kettle在Win7下有问题,建议直接重装win10或者使用虚拟机测试。
下载地址一:https://community.hitachivantara/docs/DOC-1009855
下载地址二:https://sourceforge/projects/pentaho/
下载地址三:https://github/pentaho/pentaho-kettle
目录
工具介绍
优势特点
Kettle家族系列产品
基于JAVA的ETL工具
应用场景
安装配置
Linux
Ubuntu 12.04 and later
CentOS 6 Desktop
Windows
Kettle源码编译
编译项目
参考文章
工具介绍
免费开源的、可视化的、国际上最流行的、功能强大的ETL必备工具。不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
优势特点
- 免费开源:基于java的免费开源的软件,对商业用户也没有限制
- 易配置:可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定
- 支持不同数据库:ETL工具集,它允许你管理来自不同数据库的数据
- 两种脚本文件:transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
- 图形界面设计:通过图形界面设计实现做什么业务,无需写代码去实现
- 定时功能:在Job下的start模块,有一个定时功能,可以每日,每周等方式进行定时
Kettle家族系列产品
- SPOON:允许你通过图形界面来设计ETL转换过程(Transformation)
- PAN:允许你批量运行由Spoon设计的ETL转换 (例如使用一个时间调度器)。Pan是一个后台执行的程序,没有图形界面
- CHEF:允许你创建任务(Job)。 任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了
- KITCHEN:允许你批量使用由Chef设计的任务 (例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序
基于JAVA的ETL工具
- ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我介绍一个我在工作中使用了3年左右的ETL工具Kettle,本着好东西不独享的想法,跟大家分享碰撞交流一下!在使用中我感觉这个工具真的很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率。
应用场景
- 表视图模式:这种情况我们经常遇到,就是在同一网络环境下,我们对各种数据源的表数据进行抽取、过滤、清洗等,例如历史数据同步、异构系统数据交互、数据对称发布或备份等都归属于这个模式;传统的实现方式一般都要进行研发(一小部分例如两个相同表结构的表之间的数据同步,如果sqlserver数据库可以通过发布/订阅实现),涉及到一些复杂的一些业务逻辑如果我们研发出来还容易出各种bug。
- 前置机模式:这是一种典型的数据交换应用场景,数据交换的双方A和B网络不通,但是A和B都可以和前置机C连接,一般的情况是双方约定好前置机的数据结构,这个结构跟A和B的数据结构基本上是不一致的,这样我们就需要把应用上的数据按照数据标准推送到前置机上,这个研发工作量还是比较大的。
- 文件模式: 数据交互的双方A和B是完全的物理隔离,这样就只能通过以文件的方式来进行数据交互了,例如XML格式,在应用A中我们开发一个接口用来生成标准格式的XML,然后用优盘或者别的介质在某一时间把XML数据拷贝之后,然后接入到应用B上,应用B上在按照标准接口解析相应的文件把数据接收过来。
安装配置
Linux
Ubuntu 12.04 and later
- The libwebkitgtk package needs to be installed. This can be done by running
apt-get install libwebkitgtk-1.0.0
- Unzip the downloaded file. Run spoon.sh file, it should be under /data-integrationOn some installations of Ubuntu 14.04, Unity doesn't display the menu bar. In order to fix that, spoon.sh has a setting to disable this integration, export
UBUNTU_MENUPROXY=0
- You can try to remove that setting if you wish to see if it works propery on your machine
CentOS 6 Desktop
- The libwebkitgtk package needs to be installed. This can be done by running
yum install libwebkitgtk
- Unzip the downloaded file and run spoon.sh, it should be under /data-integration.
Windows
- After unzipping the downloaded file, you can launch Spoon by navigating to the folder /data-integration and double clicking Spoon.bat
- If you are using Infobright, make sure to copy the following files to your Windows system path (for example %WINDIR%/System32/):https://github/EidosMedia/infobright-core/tree/master/lib
libswt/win32/infobright_jni_64bit.dll (Windows 64-bit)
libswt/win32/infobright_jni.dll (Windows 32-bit)
- Rename the file to: infobright_jni.dll, then run Spoon.bat to launch Spoon.
Win7运行异常:
java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:664)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.pentahomons.launcher.Launcher.main(Launcher.java:92)
The system cannot find the path specified
注意:Kettle下载版本有BUG,经过在Win7系统一天的尝试通过换Kettle PDI版本(8.2,7.1都试过)到换JDK版本(换成32位的),最后转向源码编译,这是个令人崩溃的过程,与简单安装还不是完全匹配,其本身分支众多,听Kettle中文站群里的人说Kettle有BUG都是自己编译的,建议看到这篇文章的可以尝试编译源码,或者本身用的系统是Win10可以尝试安装(Win10家里的环境成功安装过PDI 7.1 版本上没有64bit的限制,但是jar有64bit请注意这点)。
WIN10效果:
Kettle源码编译
编译项目
使用Maven进行编译,进入项目目录:
mvn clean install -DSkipTests
打好的包:
IDEA 导入项目(会有一些插件报错):
参考文章
ETL工具kettle基本使用(操作)
centos7 PDI(Kettle)安装
Kettle安装解决 缺少libwebkitgtk-1.0-0库问题
Kettle相关学习文章合集
Win7下Kettle-7.0安装部署
CentOS 7下安装kettle7.1
CentOS7.2部署Kettle7.1并利用Xmanager实现远程图形化界面
IDEA 启动运行kettle8.0
kettle7.1.0.12-R 源码部署(IDEA 版本)
kettle 实时同步数据(插入/更新/删除数据)
使用Kettle实现数据实时增量同步
版权声明:本文标题:Kettle实现数据抽取转换和装载工具运行及源代码编译 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727167302a1099953.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论