ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,在使用中我感觉这个工具真的很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率,KETTLE这个工具是Java编写的。
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle支持关系型数据库Oracle、MySQL、DB2、SQLServer、PostgreSQL以及非关系型数据库MongoDB等同类或异类数据库数据抽取或数据清洗,并可配合Windows下的计划任务及Linux或Aix下的crontab计划排程来定时执行。一般用于数仓建模、数据抽取、数据清洗等用途。由于kettle属于纯iava编写,所以避免不了需要安装jdk。
由于近期项目需要跨库数据定时抽取,环境均为Windows,故在win下首先安装jdk。安装比较简单,傻瓜式安装,按照提示下一步即可。
安装完成之后会生成两个目录:
安装完成后配置jdk环境变量:
1、新建JAVA_HOME变量:D:\Program Files\Java\jdk1.7.0_79如图
2、添加jdk的path变量:D:\Program Files\Java\jdk1.7.0_79(注意原来Path的变量值末尾有没有分号,如果没有,先输入英文分号再输入上面的代码)
3、新建CLASSPATH变量。(.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar)前面有一点,必须输入,否则会报错的。
4、检测jdk是否配置成功,运行cmd输入java -version;如果出现下图图标即代表配置成功。
kettle官网(http://community.pentaho.com/projects/data-integration/)下载kettle,运行程序集下的spoon.bat文件:会出现kettle界面
登录进去之后,可新建transformation和job。
单击表输入出现配置界面:
单击表输出,配置目标库连接:
新建job并配置:
拟写批处理,调用kettle:
d:
cd D:\KETTLE\distrib\distrib
pan /file D:\kettletest\01.ktr
保存为.bat文件后,执行。
最后将批处理添加到windows的计划任务里即可。
个人感觉kettle非常强大,可减少很大的某些不同应用和同类或异类数据库的研发工作量。如常用的json、xml、webservice形式的接口。 支持跨库迁移同时有详细log日志,方便拍错,无需debug。
领取专属 10元无门槛券
私享最新 技术干货