ETL数仓工具Kettle初识

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。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180427G00O3T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券