Kettle开源ETL平台安装配置及使用说明v11.docx

上传人:b****8 文档编号:12678609 上传时间:2023-06-07 格式:DOCX 页数:56 大小:2.18MB
下载 相关 举报
Kettle开源ETL平台安装配置及使用说明v11.docx_第1页
第1页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第2页
第2页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第3页
第3页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第4页
第4页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第5页
第5页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第6页
第6页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第7页
第7页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第8页
第8页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第9页
第9页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第10页
第10页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第11页
第11页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第12页
第12页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第13页
第13页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第14页
第14页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第15页
第15页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第16页
第16页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第17页
第17页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第18页
第18页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第19页
第19页 / 共56页
Kettle开源ETL平台安装配置及使用说明v11.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Kettle开源ETL平台安装配置及使用说明v11.docx

《Kettle开源ETL平台安装配置及使用说明v11.docx》由会员分享,可在线阅读,更多相关《Kettle开源ETL平台安装配置及使用说明v11.docx(56页珍藏版)》请在冰点文库上搜索。

Kettle开源ETL平台安装配置及使用说明v11.docx

Kettle开源ETL平台安装配置及使用说明v11

[]初稿

[]发布

[√]修订

编撰:

肖渺

编撰日期:

****-**-**

保密级别:

公开

文档版本:

KETTLE开源ETL软件】

【安装配置与使用说明】

2015年09月

修订记录

版本

修订者

修正日期

修正内容

审核人

审核日期

批准人

批准日期

肖渺

2015-09

初稿

肖渺

2015-10

增加Hadoop

Plugin相关配

置对应章节

肖渺

2015-11

增加章节

肖渺

2015-12

增加MapReduce

开发部分章节

修订记录2

1.安装与配置4

1.1ETL与KETTLE概述4

1.2KETTLE的下载与安装7

1.2.1Windows下安装配置Kettle8

1.2.2Linux下安装配置Kettle10

1.2.3Kettle下安装JDBC数据库驱动15

1.2.4下配置资源库连接15

1.2.5Kettle下HadoopPlugin插件配置17

2.KETTLE组件介绍与使用19

2.1KETTLESPOON使用19

2.1.1组件树介绍20

2.1.2使用示例123

2.1.3使用示例237

2.1.4使用Kettle装载数据到HDFS48

2.1.5使用Kettle装载数据到Hive52

2.1.6使用Kettle进行hadoop的mapreduce图形化开发52

2.2KETTLEPAN的使用63

2.3KETTLEKITECHEN的使用64

2.4CARTE添加新的ETL执行引擎65

2.5ENCR加密工具68

1.安装与配置

2015年下半年公司承接了江苏电信电子渠道中心数据分析项目,项目实现计划使用

大数据应用与分析相关的开源组件与技术来实现;针对数据的抽取与清理,需要使用ETL

工具;针对不同的数据源的数据整合需求,考虑到项目投资与开发成本,项目组初步计

划采用开源ETL工具;ETL(Extract,Transformation,Load)工具是构建数据仓库、

进行数据整合工作所必须使用的工具。

目前市面有多种商业ETL工具,如Informatica

PowerCenter,IBMDatastage等。

目前市场上开源且实用的ETL工具比较少,Kettle就

是为数不多的优秀开源ETL工具之一。

经过比较与分析,选择了Kettle作为本项目使

用的ETL工具。

1.1ETL与Kettle概述

ETL(Extract、Transform、Load,抽取、转换、装载),它是BI项目中最常见、基

础的数据加工行为。

构建数据仓库期间,各类业务系统的数据需要经过严格的ETL过程,

才能够进入到数据仓库中,进而为后续的数据展现、分析提供支撑。

通常,由于企业的

各业务系统数据口径不一致,比如不同应用存储性别的方式存在差异性、银行应用中不

同币种的统一、零售应用中商品计价方式的统一等,使得BI项目必须实施ETL工作,否

则在含糊、不准确的数据上进行各种数据行为是徒劳的、没有意义的。

在另外一些场合,企业往往需要对TB级别的数据进行各种数据聚合、粗和精加工。

比如,在制作即席报表期间,用户希望这些报表的运行时间越短越好,然而如果报表使

用到的数据粒度很细、数据量很大,则要控制好报表的运行时间估计够呛。

此时,我们

往往需要对数据进行各种层次的聚合操作,比如可以将“日”级别存储的数据预先聚合

成按周、月、季度的数据。

将来,运行报表的时间将得到有效控制,毕竟RDBMS能够更

快速响应客户提交的SQL请求。

设计并运行良好的ETL过程可以很好地完成上述任务。

Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix

等不同的操作系统平台上运行,数据抽取高效稳定。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形

化的用户环境来描述用户想做什么,而不是用户想怎么做。

在KettleETL解决方案中,主要存在两种ETL工件:

转换(Transformation)和作

业(Job)。

ETL转换,专注于数据加工本身,比如装卸数操作、数据编码转换;ETL作业,

专注于流程控制,比如执行若干ETL转换、将加工后的文件借助SSH2传输出去等。

通常,

ETL作业会包含若干ETL转换,并控制它们的执行,而且作业会以一定周期执行,比如每

周二执行、每隔3小时执行等。

Kettle家族目前包括4个产品:

SPOO、NPAN、CART、EKITCHEN。

SPOON允许你通过图形界面来设计ETL转换过程(Transformation)。

PAN允许你批量运行由Spoon设计的ETL转换(例如使用一个时间调度器)。

Pan是

一个后台执行的程序,没有图形界面。

CARTE类似于Pentaho管理控制台,它们都宿主在JettyWeb容器中,但各自承担

的使命不同。

Carte用于远程执行KettleETL转换和作业。

KITCHEN允许你批量使用由Chef设计的任务(例如使用一个时间调度器)。

KITCHEN

也是一个后台运行的程序。

Kettle基于EclipseRCP框架开发,针对运行环境只需要GUI图形用户界面和以上

的JVM环境支持即可,Kettle程序运行时典型demo显示截图如下:

在上面SPOON程序中可以使用图元的形式完成用户自定义的transformation,通过

transformation完成针对数据的基础转换,Demo如下截图所示:

可以从Kettle运行时日志,查看该transformation转换有没有finished、每个步

骤的耗时、速度、平均每秒多少行、总共插入了多少记录数等。

1.2Kettle的下载与安装

截止到2015年11月,Kettle(PentahoDataIntegration)软件的最新版本号为

0-353。

新版本的Kettle软件被改名为PentahoDataIntegration(PDI),作为商业开

源BI套件PentahoBIEE中默认的ETL工具,可以在Pentaho官方站点下载其最新的版

本。

官方网站上Kettle软件的下载链接会重定向到开源下载站点,如下图所示:

 

图Kettle

的下载

上述版本Kettle软件的DownloadURL下载链接为:

http/ftp下载工具下载;Linux下可以使用wget/curl等命令行方式

1.2.1Windows下安装配置Kettle

1、检查JDK或者以上版本JDK环境已经完成安装。

如果没有安装,需要从Oracle

JDK二进制软件包并完成安装,并配置好JAVA_HOME,

欢迎界面如下图所示:

CLASSPAT等相关环境变量。

H

2、将下载完成的版本Kettle软件ZIP包解压缩到Windows下任意目录,例如

D:

\Kettle

3、运行Kettle,在Windows下定位到$KETTLE_HOM批处理程序,双击运行E/

 

 

启动后,SpoonIDE的界面Demo截图如下:

 

 

1.2.2Linux下安装配置Kettle

1、安装JDK,版本要在及以上,建议安装JDK

在Oracle官网上下载JDK二进制安装包,并安装

rpm:

rpm-ivh

bin:

chmod+x

./

tar:

tarzxvf

配置环境变量:

#vi/etc/profile

编辑加入以下内容

#setjavaJDK

JAVA_HOME=/usr/local/

JRE_HOME=/usr/local/

PATH=$PATH:

$JAVA_HOME/bin:

$JRE_HOME/bin

CLASSPATH=$JAVA_HOME/lib/:

$JAVA_HOME/lib/

exportJAVA_HOME

exportJRE_HOME

exportPATH

exportCLASSPATH

变更环境变量,检查安装是否成功:

#source/etc/profile

java-version

2、安装配置Kettle:

下载kettle并在服务器上解压

赋予sh执行权限

chmod+x*.sh

运行

./home/kettle/

显示图片中的内容即提示Kettle程序在Linux下安装成功。

 

执行,会报如下错误

Linux下需要安装图形化界面工具,RHEL/CentOS下需要安装gnome和GTK并启动X11服

务:

#startx;并在Windows客户端PC上安装连接工具:

;如果Linux端操作系统发

行版为Ubuntu,可以执行以下步骤使用Windows自带的远程桌面程序基于RDP协议访问

Linux的XWindow的GUI图形界面环境:

#sudoapt-getinstallxrdp

#sudoapt-getinstallvnc4server

#sudoapt-getinstallxubuntu-desktop

#echo"xfce4-session">~/.xsession

#sudoservicexrdprestart

Windows下“运行”输入"mstsc"-->回车-->输入Ubuntu主机的IP地址-->

连接"

>回车

选择"sesman-Xvnc"-->输入"用户名和密码"-

 

这时候可能会提示如下错误:

 

这时需要执行如下命令

vi~/.kettle/.spoonrc

输入以下文字:

ShowWelcomePageOnStartup=N

保存,同时修改./kettle/.spoonrc文件中的该参数。

./kettle/.spoonrc此文件夹和文件是隐藏的。

通过ls-a可以看到。

最后在运行./就可以正常打开kettle的图形界面了。

 

在LinuxX11环境下运行Kettle的主程序Spoon的主窗口MainWindow界面截图如下:

 

 

1.2.3Kettle下安装JDBC数据库驱动

Kettle默认不带Oracle驱动,此时在运行时无法使用JDBC连接数据库;这个时

候需要下载包;解压缩后将jdbc目录下数据库JDBC驱动对应的jar文件拷贝

$KETTLE_HOME\data-integration\lib目录下,问题即可解决。

上述Kettle可以使用的稳定版本的JDBC驱动jar包ZIP文件的下载URL地址为:

1.2.4下配置资源库连接

默认时,KettleETL转换和作业直接用文件保存,这显然不适合团队模式开发。

果考虑将这些文件存放到SVN或其它SCM配置工具中,则也是一种选择。

或者,Kettle

允许用户将ETL转换和作业存储到其它位置,比如RDBMS中。

为了用数据库取代文件系统存储ETL转换和作业,用户需要在启动SpoonIDE时创

建一新的资源库。

在创建资源库前,用户要提供一个RDBMS(常用Oracle或者MySQ)L

数据库连接用户,比如kettle/kettle。

然后,创建好相应的数据库连接(比如kettle),

再并给出资源库的名称,比如kettle-repos。

最后,用户需要单击下图中给出的“创建

或更新”按钮,并完成资源库的创建工作。

此时,Spoon会在RDBMS的kettle/kettle

用户中自动创建metadata元数据库表,它们用来存储ETL转换和作业。

随后,用户可以以admin/admin帐号登录到kettle-repos资源库中,并启动Spoon

IDE,进而完成各种ETL转换和作业的开发工作。

下图展示了kettle-repos资源库中持有的数据库表集合:

插件配置

1.2.5Kettle下HadoopPlugin

Kettle以上的版本开始支持以Hadoop为核心的大数据技术,除了支持原生的

ApacheHadoop之外,Kettle(PDI)并支持来自多个供应商的不同的Hadoop发行版包括

Cloudera,Hortonworks和MapR。

为了支持不同的版本,PDI使用了称之为shim的抽象

层来连接不同的Hadoop发行版。

Shim是一个库文件用来解析API调用和重定向和处理

API调用,或者修改调用参数。

定期地,随着厂商发布新版本的Hadoop发行版,Pentaho

发布新的shim来实现支持。

这些大数据相关的shim由Pentaho的工程师进行测试和验

证。

用户可以通过访问Pentaho官网Wiki上的URL确认不同的Kettle版本针对不同的Hadoop

发行版的shim支持情况,URL为:

在Kettle中配置HadoopDistribution发行版的shim

流程如下:

1、确认需要连接的Hadoop发行版已被当前使用的Kettle版本所支持了;如果已经支持

但下载的PDI-CE-*.zip安装包中没有内置插件,则需要下载,可以参考以下:

Install

HadoopDistributionShim

2、如果开发者需要连接的Hadoop发行版还有没有被Kettle所支持,可以自己填写相

应的信息,要求Pentaho官方开发一个。

还有1种情况就是上面说的Hadoop发行版已经被Kettle所支持了,并包含内置的插

件。

3、配置流程

如果Kettle软件实例正在运行,则首先停止Kettle实例;

打开Kettle安装的文件夹,定位到

data-integration\plugins\pentaho-big-data-plugin路径:

 

 

编辑文件

修改配置项active-hadoop-configuration

修改为开发者需要连接的Hadoop发行版对应的shim值(上图的表格里面的shim),例

至此,Kettle中Hadoop插件相关配置工作完成。

2.KETTLE组件介绍与使用

2.1KettleSPOON使用

Spoon作为Kettle软件的IDE集成开发环境,提供了资源库的方式来整合所有的工作;

1)创建一个新的transformation,点击保存到本地路径,例如保存到D:

\etltest下,

保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr;

2)创建一个新的job,点击保存到本地路径,例如保存到D:

\tltest下,保存文件名为

Job,kettle默认job文件保存后后缀名为kjb;

2.1.1组件树介绍

2.1.1.1Transformation

Transformation的主对象树和核心对象分别如下图:

Transformation中的节点介绍如下:

MainTree:

菜单列出的是一个transformation中基本的属性,可以通过各个节点来查

看。

DB连接:

显示当前transformation中的数据库连接,每一个transformation的数据库

连接都需要单独配置。

Steps:

一个transformation中应用到的环节列表Hops:

一个transformation中应用到的节点连接列表

核心对象菜单列出的是transformation中可以调用的环节列表,可以通过鼠标拖动的方

式对环节进行添加:

Input:

输入环节Output:

输出环节

 

Lookup:

查询环节

Transform:

转化环节

Joins:

连接环节

Scripting:

脚本环节

2.1.1.2Job

Job的主对象树和核心对象分别如下图

MainTree菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。

DB连接:

显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。

Jobentries/作业项目:

一个Job中引用的环节列表

核心对象菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进

行添加。

每一个环节可以通过鼠标拖动来将环节添加到主窗口中。

并可通过shift+鼠标拖动,实现环节之间的连接。

 

2.1.2使用示例1

2.1.2.1建立转换

选中列表中的的“数据源”、“表输出”、“插入/更新”,拖拽到右侧工作区。

鼠标选中

节点键盘按shift键,拖拽即可连线。

下图是一个转换,有两个动作,一是直接从数据

源表同步数据到目标表,一是检查源表的插入和更新,同步到目标表。

黑色线为生效,灰色线为失效,节点和连接可双击进行编辑。

 

双击编辑表输出动作。

 

要获取的字段设置如下所示:

 

 

点击“Enterfieldmapping/输入字段映射”进行字段选择。

 

选择要用的字段后点确定,注意字段的约束条件。

编辑好后点击上面的执行即可。

左侧参数暂不说明,执行完成后可以观看下方的日志。

双击编辑“插入/更新”动作。

 

然后点击运行。

 

执行前,在源库里加条新纪录。

确定作业执行正常后可以保存作业,如保存路径到本

地磁盘地址C:

\

2.1.2.2建立执行的JOB/作业

建立JOB的前提是有可以完整执行的作业,上面步骤定制的作业进行保存。

 

从左侧列表拖拽“START”,“Success”,“转换”,“发送邮件”到工作区并连接,如下图。

然后双击“START”动作进行编辑。

 

 

 

 

然后双击编辑“Transformation”活动。

转换文件名选择上一步编辑好的.ktr文件

 

双击发送邮件,参数设置如下:

 

 

 

 

编辑完成后直接点击运行即可。

 

 

运行后查看日志。

 

 

2.1.3使用示例2

本例是完成读取目录下的.log文件,找出其中包含错误代码的行,并统计个数

2.1.3.1新建Transformation

本示例所用到的步骤和组件如下图所示:

 

连接图如下所示:

 

 

a)获取文件名设置如下:

其中已选择的文件名称的变量都需要手写输入,

可以点击显示文件名和预览记录检查是否配置正

确。

 

 

b)

文本文件输入设置如下:

文本文件输入选项中选择从上一步骤获取文件名,其中在输入里的字段被当作文件名一栏输入

uri,步骤读取的文件名来自填写获取文件名2

内容选项卡的设置如下:

文件类型选择CSV,分隔符自己定义,格式为mixed,编码方式选择UTF-8

 

字段选项可设置如下:

需要手写输入str名称,设置类型为String

c)获取字符串设置如下:

 

 

 

d)测试脚本设置如下

其中可以点击获取变量和测试脚本来测试脚本的正确性

点击测试脚本界面如下:

脚本代码由JavaScript编写

e)聚合记录

聚合记录就是将上一步的结果进行聚合,这里的名称字段是点击获取字段获取的,而不是自己输入的,newname一列是制定新名字,可以自己输入填写,

 

f)文本文件输出

文本文件的输出设置如下,

其中字段属性的设置名称字段是点击获取字段自动获取的,不是输入的,设置如下

 

 

 

 

g)运行日志显示如下:

2.1.3.2建立Job

Job的建立与中方法一样,用到的组件如下所示

转换组件设置如下:

将上一步保存的*.ktr添加到转换名文件路径中

 

点击运行按钮

生成日志如下所示:

 

 

2.1.4使用Kettle装载数据到HDFS

概述:

Kettle从以上版本开始支持大数据技术(在JOB和TRANSFORM面板中均新增了ER

BigData相关的组件)。

以下是使用Kettle访问HDFS的示

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2