一、Kettle简介

首先,学习Kettle前先了解一下ETL的概念;ETL是取Extract-Transform-Load的第一个首字母拼成,即指数据抽取、转换和装载的过程,日常工作上,我们经常会遇到各种数据的处理,转换,迁移,使用ETL工具就可以帮助我们解决这些数据的处理,所以了解并掌握一种ETL工具的使用是很必要的。

Kettle是一款国外开源的ETL工具,纯JAVA编写,可以在Windows、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。(题外话:当然现在有各种基于Kettle二开的版本,效率啥的都有提升,本文不涉及那些)

Kettle中文名称是水壶,Kettle的开发者希望把各种数据放在一个水壶里,然后以一种特定的格式流出,用水壶来形容真的很合适。

还有三个概念需要掌握,Kettle有两种脚本文件,transformationjob,transformation完成针对数据的基础转换,job则完成整个工作流的控制(我个人的理解就是如果把一件工作当做是做一台车的话,transformation就是轮胎,引擎,座椅等各种组成元件是怎么做成的具体流程,而job就是怎么这些元件怎么拼起来的流程)。

Spoon是构建ETL Jobs和Transformations的工具,Spoon以拖拽的方式化设计,能够通过spoon调用专用的数据集成引擎或者集群,简单来说就是让你能够图形化可视化去操作那些流程。

一开始先了解这些基础概念就行了,不然说太多晕乎乎的,反正我自己是这样。

二、Kettle下载

下载网址:Pentaho from Hitachi Vantara - Browse Files at SourceForge.net


etag在java中如何实现 etl 开源 java_数据

目前最新版本已更新到9.2,选择你需要的版本下载即可

我下载的是最新版,解压之后的目录结构如下:

etag在java中如何实现 etl 开源 java_big data_02

classes:生命周期监听、注册表拓展、日志的配置文件

Data Integration.app:数据集成应用

Data Service JDBC Driver: JDBC驱动程序的数据服务

docs:文档

launcher:Kettle的启动配置

lib:支持库jar包

libswt:Kettle图形库jar

plugins:插件

pwd:kettle集群配置文件

samples:自带例子

simple-jndi:jndi连接配置

system:系统目录

ui:软件界面

在linux系统运行点击spoon.sh,在windows系统运行点击spoon.bat文件。

 

etag在java中如何实现 etl 开源 java_数据_03

 三、Kettle部署

1、安装JDK

从Kettle的简介可以知道Kettle是纯Java语言编写的软件,所以该软件的运行需要Java运行环境的依赖,所以第一步需要先安装JDK,先把运行环境装好。(如已经安装可忽略

etag在java中如何实现 etl 开源 java_etl_04

安装过程双击一直下一步即可,这里不详细说明。

2、配置环境变量

安装完jdk后,配置环境变量,值分别为jdk和kettlle的安装路径,添加完成后Path里也添加一下这两个变量,如下图所示。

etag在java中如何实现 etl 开源 java_数据仓库_05

etag在java中如何实现 etl 开源 java_数据仓库_06

配置完成后,双击Spoon.bat,能正常打开就说明环境配置正确。(第一次打开比较久,耐心等下即可

 

etag在java中如何实现 etl 开源 java_数据仓库_07

 打开软件欢迎界面,到这一步就是已经部署好了软件了。

etag在java中如何实现 etl 开源 java_数据_08

 四、Kettle界面简介

Kettle界面主要由这四个方面组成,分别是工具栏,工具图标,树形列表和工作区组成,这里主要知道树形列表,如果你点击转换,那么核心对象里显示的就是转换的一些相关的方法啥的,如果你点击作业也同样对应相关的内容,通过拖拽的方式将左边的方法拉到工作区,后面内容会涉及,有个大概印象就行。

etag在java中如何实现 etl 开源 java_数据仓库_09