Kettle开源ETL平台_安装配置及使用说明v1.1

合集下载

kettle使用手册

kettle使用手册

kettle使用手册Kettle使用手册一、Kettle简介1.1 Kettle概述Kettle(也被称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,它能够从各种数据源中提取数据,并进行各种转换和加工,最后将数据加载到指定的目的地中。

Kettle具有强大的数据处理功能和友好的图形化界面,使得数据集成和转换变得简单而高效。

1.2 功能特点- 数据抽取:从多种数据源中提取数据,包括关系型数据库、文件、Web服务等。

- 数据转换:支持多种数据转换操作,如字段映射、类型转换、数据清洗等。

- 数据加载:将转换后的数据加载到不同的目的地,如数据库表、文件、Web服务等。

- 调度管理:支持定时调度和监控,可自动执行数据集成任务。

二、安装与配置2.1 系统要求在安装Kettle之前,请确保满足以下系统要求: - 操作系统:Windows、Linux、Unix等。

- Java版本:JDK 1.8及以上。

- 内存:建议至少4GB的可用内存。

2.2 安装Kettle最新版本的Kettle安装包,并按照安装向导进行安装。

根据系统要求和个人需求进行相应的配置选项,完成安装过程。

2.3 配置Kettle在安装完成后,需要进行一些配置以确保Kettle正常运行。

具体配置步骤如下:- 打开Kettle安装目录下的kettle.properties文件。

- 根据实际需要修改配置项,如数据库连接、日志路径、内存分配等。

- 保存修改并重启Kettle。

三、Kettle基础操作3.1 数据抽取3.1.1 创建数据源连接打开Kettle,左上角的“新建连接”按钮,在弹出的窗口中选择待抽取的数据源类型(如MySQL、Oracle等),填写相关参数并测试连接。

3.1.2 设计数据抽取作业- 打开Kettle中的“转换”视图。

- 从左侧的工具栏中选择适当的输入组件(如“表输入”或“文件输入”),将其拖拽到设计区域中。

ETL工具kettl应用说明

ETL工具kettl应用说明

Kettle工具在实际中的应用说明一:资源库的设置Kettle提供了两种资源库的选择方式:数据库存放、本地文件存放。

数据库该方式是通过数据库连接直接在数据库里面创建kettle表,表里面记录着你所做的任何保存过的记录以及转换和任务。

此方法是远程存放的方式,具有可多人共享一个资源库的优势,但是也存在资源库不稳定的缺点。

以下就数据库资源库具体怎么实现做一下介绍:第一:在tools选项下面有在资源库选项里面有连接资源库选项,点击之后会出现如下界面:刚开始的时候是没用任何连接的,需要根据自己的需要选择创建。

笔:修改资源库连接加:添加新的资源库叉:删除选中资源库点那个加号图标就可以进入到新建选项页面:在中间的显示栏中:第一行代表着写入到数据库的资源库、第二行代表着保存到本地的资源库。

点击第一行进入如下界面:点击新建按钮将会新建数据库连接,如果已经有你需要的数据库连接也可以选择你需要的。

上面就是新建数据库页面,根据你的需要选择具体的数据库连接方式,填写好完成之后点击一下测试按钮,就可以知道数据库连接是否成功。

到这里,资源库的连接已经做了一半了。

接下来介绍另一半要做的事情。

回到这个页面,填写唯一的ID、名称,然后点击创建或更新按钮,之后会出现一些SQL语句,执行这些语句,如果成功的话就创建成功了,如果失败则要检查一下数据库。

最后点击确定按钮就成功了。

这个时候就可以连接资源库了。

选择你创建的资源库,admin用户的默认密码是admin ,点击OK就行了。

本地接下来简单介绍一下本地资源库,其实是很简单的。

选择第二行。

将会看到如下页面:这个就是本地的页面,比数据库简单多了,选择一下存放路径,给它一个ID号和名称,点击OK就可以了。

资源库建好之后就会进入到主页面了:这个就是主页面了,表面上是空空如也的。

关于资源库的设置就就讲到这里了,关于更多的介绍请参照官方说明文档!二:实现增量更新的方法Kettle工具并没有提供增量更新的选项,这个是要根据你的策略来实现的。

kettle操作手册

kettle操作手册

1.什么Kettle?Kettle是一个开源的ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)项目,项目名很有意思,水壶。

按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。

Kettle包括三大块:Spoon——转换/工作(transform/job)设计工具(GUI方式)Kitchen——工作(job)执行器(命令行方式)Span——转换(trasform)执行器(命令行方式)Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

2.Kettle简单例子2.1下载及安装Kettle下载地址:/projects/pentaho/files现在最新的版本是 3.6,为了统一版本,建议下载 3.2,即下载这个文件pdi-ce-3.2.0-stable.zip。

解压下载下来的文件,把它放在D:\下面。

在D:\data-integration文件夹里,我们就可以看到Kettle的启动文件Kettle.exe或Spoon.bat。

2.2 启动Kettle点击D:\data-integration\下面的Kettle.exe或Spoon.bat,过一会儿,就会出现Kettle的欢迎界面:稍等几秒,就会出现Kettle的主界面:2.3 创建kettle后台管理点击【新建】,新建资源库信息这里我们选择KETTLE 后台管理数据库的类型,以及配置JDBC设置完成后,点击【创建或更新】,将会在指定的数据库里面新建KETTLE的后台管理数据表。

再设置【名称】,点击【确定】。

回到登陆界面,选择新建的【资源库】,输入用户账号密码(默认账号:admin,密码:admin)进入KTETTLE 的开发界面2.4 kettle说明主对象树:转换(任务),作业(JOB)核心对象:主对象中可用的组件2.5 值映射组件使用的字段名:源字段目标字段名:目标字段源值:源数据的值目标值:替换的值注:最好先将源值去空格,再进行替换2.6 增加常量组件名称:映射字段类型:字段类型格式:数据格式长度:值:常量的值2.7计算器组件新字段:映射字段计算:计算类型字段A,B,C:需计算的字段值类型:数据的类型2.8获取系统信息组件名称:显示的名称类型:显示的类型(系统时间,IP,指令等等)2.9增加序列组件值的名称:映射值的名称起始值:序列的初始值增加值:设置增加的值最大值:设置最大值2.10 表输出组件数据库连接:设置数据库目标表:设置目标的表提交记录数量:设置提交数量忽略插入错误:跳过错误,继续执行指定库字段:数据库字段:选择插入的字段2.11 多路选择(Switch/Case) 组件更多路选择的字段:设置Switch的字段分支值的数据类型:设置值的类型分支值:值:设置case的值目标步骤:跳过的操作步骤缺省的目标步骤:未通过的操作步骤2.12 Null if... 组件名称:选择替换的字段需要转换成NULL的值:需要转换成NULL的值2.12 执行SQL脚本组件数据库连接:选择数据库SQL script :输入要执行的SQL语句参数:设置要替换的参数字段2.13 Modified Java Script Value 组件Java Script:脚本的输入:输入字段:输出字段字段名称:定义的字段名改成为:新的字段名类型:字段类型Replace Value:是否替换的值2.14 合并记录组件旧数据源:输入数据源新数据源:输入数据源匹配关键字段:匹配关键字段数据字段:数据字段2.15 记录关联(笛卡尔输出) 组件条件:输入关联的条件2.16 Merge Join 组件第一个步骤:第一个操作的步骤第二个步骤:第二个操作的步骤步骤选择的字段:步骤关联的字段2.17 行转列组件关键字:选择表的关键字分组字段:分组的字段目标字段:选择目标在字段VALUE:值字段名称关键字值:关键字值类型:数据类型2.18 生成随机值组件名称:新生成字段名类型:随机数的类型2.19 去除重复行组件字段名称:关键字的字段忽略大小写:是否忽略大小写注意:去掉重复行需先排序2.20 插入/ 更新组件数据库连接:选择数据库目标表:选择目标表不执行任何更新:是否执行更新操作查询的关键字:关键字更新字段:选择要插入更新的字段2.21 表输入组件数据库连接:选择数据库SQL:输入SQL语句预览:数据预览获得SQL查询语句:获得SQL查询语句2.22 排序记录组件字段名称:选择排序的字段名称升序:是否升序大小写敏感:是否区分大小写2.23 XML输出组件文件名称:输出文件的名称跟路径扩展:扩展名2.24 文本文件输出组件文件名称:输出文件的名称跟路径扩展:扩展名2.25 Write to log 组件日志级别:选择日志级别字段:选择打印的字段2.26 过滤记录组件条件:输入条件发送True给的步骤:返回True的步骤发送false给的步骤:返回false的步骤2.27 JOB定时组件重复:是否重复类型:选择类型2.28 转换组件转换文件名:选择执行转换的文件指定日志文件:输出日志文件2.5 命令行运行ktr和kjb在上面的过程中,我们都是在IDE工具中,直接点击按钮进行运行文件的,但在实际中,我们需要脱离IDE,进行单独的运行,这时就必须用到命令行来运行文件了。

kettle使用方法

kettle使用方法

kettle使用方法一、什么是kettle?Kettle是一款功能强大的开源ETL (Extract, Transform, Load) 工具,用于处理各种数据的抽取、转换和加载。

它提供了可视化的界面,使用户能够轻松地创建和管理数据流程。

二、kettle的安装和配置1.下载kettle安装包,并解压到指定目录。

2.进入kettle目录,在终端中运行spoon.sh (Linux/Mac) 或spoon.bat(Windows) 启动kettle。

3.在弹出的窗口中,点击”File”菜单,选择”Preferences”打开配置页面。

4.在配置页面中,设置kettle的选项,如数据连接、插件路径等。

三、kettle中的数据流程1.创建一个新的数据流程:点击工具栏上的”新建”按钮,在弹出的对话框中选择”Transformation”创建一个新的转换,或选择”Job”创建一个作业。

2.在数据流程中,可以拖拽各种组件来构建转换或作业,如数据输入、数据输出、转换、聚合等。

3.连接组件:使用鼠标拖拽连线工具,连接各个组件,定义数据的流向。

4.配置组件:双击组件,如数据输入组件,可以配置数据源的连接信息、查询语句等。

5.定义转换规则:在转换组件中,根据需要配置字段映射、条件过滤、转换函数等。

6.运行数据流程:点击工具栏上的”运行”按钮,运行数据流程并查看结果。

四、kettle的常用组件和功能1.数据输入:用于读取数据源的组件,支持多种数据源,如数据库、文件、Web服务等。

2.数据输出:用于将数据写入目标的组件,支持多种输出格式,如数据库表、文件、Web服务等。

3.转换组件:用于对数据进行转换的组件,如字段映射、类型转换、条件过滤、聚合等。

4.调度和监控:kettle提供了作业调度和监控的功能,可以定时执行作业、生成报表等。

5.插件扩展:kettle支持插件扩展,用户可以根据需要开发自己的插件,用于处理特定的数据源或转换规则。

Kettle配置使用说明

Kettle配置使用说明

Kettle配置使用说明Kettle配置使用说明1.文件结构1.1 kettle4.0.1该文件夹存放的是kettle4.0.1的桌面应用程序,/kettle4.0.1/Spoon.bat是运行软件的一个批处理文件,双击运行。

1.2 workspace该文件夹存放的是以各个警种总队全拼命名的分别存放.ktr文件和.job文件的文件夹。

Start.job是一个启动总纲。

1.3 script该文件夹是存放的数据库建库脚本,目前是oracle10g版本1.4 model存放的是powerDesign的cdm概念模型文件用于根据需要生成pdm和script。

2.文件路径配置本系统使用的都是系统所在路径的相对路径,不管处于什么目录下都请将kettle4.0.1和workspace的文件夹放在同一目录之下。

当然你可以随意改变文件夹的名称。

3.运行环境配置先运行一次/kettle4.0.1/Spoon.bat,Linux就不说了,如果你用的是windows系统,那么你可以在/${userhome}/.kettle下找到一个.kettle的文件夹主要说下:Response.xml-记录资源库信息(自己去勾)Kettle.property-这是好东西,可以让你在软件中任何可以使用到环境变量的地方使用到里面的配置信息(键-值对配置),类似全局变量。

当然是有利有弊,配置点什么数据库连接和一些常用的东西之外别把那里当仓库,想下全局变量定义的多了会给系统带来什么风险。

A_fileInput=file:///E:/Test_Server/srcFile/A_fileOutput=file:///E:/Test_Server/errFile/这2个属性是配置读取的Excel文件和输出错误的Excel文件用到的路径配置。

由于文件名命名的差异和存放位置的不同需要使用者自行配置。

有在系统内修改文件路径的风险,当然这是没有办法避免的,只能在项目初期和用户有这方面的约定俗成。

Kettle开源ETL平台_安装配置及使用说明v1.1

Kettle开源ETL平台_安装配置及使用说明v1.1

修订记录目录修订记录.................................................................................................................................... 错误!未定义书签。

1.安装与配置........................................................................................................................ 错误!未定义书签。

1.1ETL与K ETTLE概述................................................................................................. 错误!未定义书签。

1.2K ETTLE的下载与安装 .............................................................................................. 错误!未定义书签。

1.2.1Windows下安装配置Kettle ................................................................................. 错误!未定义书签。

1.2.2Linux下安装配置Kettle....................................................................................... 错误!未定义书签。

1.2.3Kettle下安装JDBC数据库驱动 ......................................................................... 错误!未定义书签。

KETTLE使用说明

KETTLE使用说明

KETTLE使用说明在本使用说明中,我们将详细介绍如何使用KETTLE完成一些常见的数据处理任务。

第一步:安装和启动KETTLE在Windows中,双击运行Spoon.bat文件来启动KETTLE。

在Linux 和Mac OS中,打开终端,进入KETTLE目录,输入"./spoon.sh"命令来启动KETTLE。

第二步:创建一个新的数据流程启动KETTLE后,您将看到一个图形化界面。

在左上角的工具栏中,有一个新建按钮,点击它来创建一个新的数据流程。

在创建数据流程时,您需要为其指定一个名称。

完成后,点击确定按钮。

第三步:添加数据源在左侧的工具箱中,您可以找到各种组件,如输入步骤、输出步骤、转换步骤等。

为了演示,我们先添加一个输入步骤。

在工具箱中,找到输入步骤,并将其拖放到主界面中。

然后,双击该步骤,在弹出的对话框中配置数据源。

在配置对话框中,您需要指定数据源的类型,如文本文件、Excel文件、数据库等。

根据不同的类型,您可能需要提供相应的连接信息。

完成配置后,点击确定按钮。

在数据流程中,您可以使用转换步骤对数据进行处理。

为了演示,我们使用一个简单的转换步骤来删除重复的数据。

在工具箱中,找到去重复步骤,并将其拖放到已添加的输入步骤的下方。

然后,双击该步骤,在弹出的对话框中配置参数。

在配置对话框中,您需要指定要去重的字段。

您可以选择多个字段以进行复合去重。

完成配置后,点击确定按钮。

第五步:添加输出在数据流程中,您也需要指定一个输出步骤来保存处理后的数据。

在工具箱中,找到输出步骤,并将其拖放到已添加的去重复步骤的下方。

然后,双击该步骤,在弹出的对话框中配置输出格式和目标文件。

在配置对话框中,您需要指定输出的格式,如文本文件、Excel文件、数据库等。

根据不同的格式,您可能需要提供相应的连接信息。

完成配置后,点击确定按钮。

第六步:保存和运行数据流程完成对数据流程的配置后,点击工具栏中的保存按钮来保存数据流程。

开源ETL工具-PentahoKettle使用入门

开源ETL工具-PentahoKettle使用入门

2. 下载和安装 要运行此工具你必须安装 SUN 公司的 JAVA 运行环境 1.4 或者更高版本, 相关资源你 可以到网络上搜索 JDK 进行下载。设置 JAVA 运行环境变量,JAVA_HOME 和 PATH KETTLE 的下载可以到 /取得最新版本,下载后解压,就可 以直接运行。
第 12页 共 69页
各个组件有不同的用途, 这些组件组合起来可以把数据从数据源经过一系列处理, 最终保存 到目标表。 4.3.3. 添加 TABLE INPUT
鼠标选中左边窗口 INPUT 文件夹下的 TABLE INPUT 组件,然后拖动该组件到右边主窗口中。 如图:
第 13页 共 69页
双击主窗口中 TABLE INPUT 组件,进入 TABLE INPUT 的设置窗口:
第 9页 共 69页
点击左上角的 NEW 按钮或者菜单 FILE->NEW,创建新的 TRANSFORM
主窗口出现一个新的标签页:TRANSFORMATION 1
在主窗口空白处点击右键, 出现菜单, 选择 TRANSFORMATION SETTINGS.进入 TRANSFORMATION SETTINGS 窗口。
JOB 实际上就是 ETL 中的任务流,用于调度 TRANSFORMATION 或者 JOB. 点击左上角的 NEW 按钮或者菜单 FILE->NEW,创建新的 JOB
在主窗口空白处点击右键,出现菜单,选择 JOB SETTINGS
进入 JOB SETTING 窗口。
第 21页 共 69页
A. B. C.
第 14页 共 69页
1) 2) 3)
按照命名规范设置 STEP NAME 在 CONNECTION 下拉框,选择源表所在的数据源,如果没有则新建数据源,参考”设置 资料库”节的新建数据源说明 点击 GET SQL SELECT STATEMENT 按钮,进入源表选择窗口:

KETTLE使用说明及带输入参数JAVA调用

KETTLE使用说明及带输入参数JAVA调用

ETL工具——kettle使用说明1简介ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),Kettle是一款国外开源的etl工具,纯java编写,数据抽取高效稳定。

2运行环境:OS:Window、Linux、Unix均可Jdk1.4以上3开始使用:Kettle可以在/网站下载。

下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。

(本文着重介绍kettle3.2.0稳定版)Spoon是一个图形用户界面,在不同平台上运行Spoon需要不同的脚本:Spoon.bat:在windows平台运行Spoon(或直接点击Kettle.exe)。

Spoon.sh:在Linux、Apple OSX、Solaris平台运行Spoon。

登陆一般选择没有资源库:Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

4转换(Transformation)新建一个转换kettle默认transformation文件保存后后缀名为ktr新建数据库连接(此链接也可在用到的节点处配置)填写数据源配置内容点击Test测试连接成功:核心对象切换到核心对象,菜单列出的是Transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。

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

常用节点介绍(红色节点后面逐一演示)类别环节名称功能说明输入文本文件输入从本地文本文件输入数据表输入从数据库表中输入数据获取系统信息读取系统信息输入数据输出文本文件输出将处理结果输出到文本文件表输出将处理结果输出到数据库表插入/更新根据处理结果对数据库表机型插入更新,如果数据库中不存在相关记录则插入,否则为更新。

会根据查询条件中字段进行判断更新根据处理结果对数据库进行更新,若需要更新的数据在数据库表中无记录,则会报错停止删除根据处理结果对数据库记录进行删除,若需要删除的数据在数据库表中无记录,则会报错停止查询数据库查询根据设定的查询条件,对目标表进行查询,返回需要的结果字段流查询将目标表读取到内存,通过查询条件对内存中数据集进行查询调用DB存储过程调用数据库存储过程转换字段选择选择需要的字段,过滤掉不要的字段,也可做数据库字段对应过滤记录根据条件对记录进行分类排序记录将数据根据某以条件,进行排序空操作无操作增加常量增加需要的常量字段脚本Modified Java扩展功能,编写JavaScript脚本,对数据进行相应处理Script Value映射映射(子转换)数据映射作业Sat Variables设置环境变量Get Variables获取环境变量表输入双击拖动到工作面板上的表输入结点,选择(或者新建)所需要的数据库连接,点击获取SQL查询语句或自行编辑SQL。

kettle使用教程(超详细)

kettle使用教程(超详细)
实战演练
以一个具体的数据仓库建设项目为例,介绍如何使用Kettle进行数据仓库的建设和实践 。
案例三:实时数据处理流程设计
01
实时数据处理概念介 绍
实时数据处理是指对实时生成的数据 进行即时处理和分析,以满足实时决 策和监控的需求。
02
Kettle实现实时数据 处理流程
Kettle支持实时数据流的处理和分析 ,可以通过设计实时数据处理流程, 实现对实时数据的即时处理和分析。
介绍Kettle插件开发的基础知识 ,包括插件结构、开发环境和API 使用等。
说明如何将自定义插件集成到 Kettle中,并在实际作业中使用 插件提供的功能。
Kettle在大数据领域应用
大数据处理流程
概述大数据处理的一般流程,包括数据采集、清洗、转换、分析和可 视化等环节。
Kettle在大数据处理中的角色
问题3
ETL任务执行失败。
解决方案
查看任务执行日志,定位错误信息。根据错误信息检查 ETL任务配置和数据源数据是否存在问题。修复错误后 重新运行任务。
02
Kettle界面与基本操作
Chapter
界面布局及功能介绍
01
02
03
主界面
包括菜单栏、工具栏、左 侧的资源浏览器和右侧的 工作区。
资源浏览器
01
3. 运行Kettle启动脚本(spoon.sh或 spoon.bat),启动Kettle图形化界面。
03
02
2. 配置Java环境变量,确保系统中已安装 Java并正确配置了JAVA_HOME环境变量。
04
4. 在Kettle界面中,配置数据源和数据目 标连接信息。
5. 创建ETL任务,拖拽组件进行连接和配 置。

ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我介绍一个我在工作中使用了3年左右的ETL工具Kettle,本着好东西不独享的想法,跟大家分享碰撞交流一下!在使用中我感觉这个工具真的很强大,支持图形化的GUI 设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率,不过对于我这个.net研发者来说唯一的遗憾就是这个工具是Java编写的。

1、Kettle概念Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

2、下载和部署žKettle可以在/网站下载žž下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可3、Kettle环境配置(有Java环境的直接忽略此章节)3、1 安装java JDK1)首先到官网上下载对应JDK包,JDK1.5或以上版本就行;2)安装JDK;3)配置环境变量,附配置方式:安装完成后,还要对它进行相关的配置才可以使用,先来设置一些环境变量,对于Java来说,最需要设置的环境变量是系统路径变量path。

KETTLE使用说明(中文版)

KETTLE使用说明(中文版)

7.0 Flow : 空操作(什么也不做)
这个操作说明都不做,它的主要作用是,在你想做测试的时候,充当一个占位符。
7.1 Flow : 过滤记录
这个步骤根据条件和比较符来过滤记录。 发送true数据给步骤: 指定条件返回true的数据将发送到此步骤 发送false数据给步骤: 指定条件返回false 的数据将发送到此步骤。 True 和false 步骤必须指定。
1.2 安装kettle 要运行Kettle ,必须按安装java 环境1.4或以上版本,kettle下载可以到: 取得最新版本。(pdi-ce-4.0.1-stable.zip) 1.3 运行spoon 下面是不同平台上运行spoon 所支持的脚本 : spoon.bat windows 平台运行Spoon. Spoon.sh linux 平台运行Spoon. 1.4 资源库 一个Kettle 资源库可以包含那些转换信息,这意味着为了从数据资源中加载一个转 换,你必须连接相应的资源库。
连接名称 : 选择数据库序列存在的 连接名称 序列名称: 数据库序列的名称 使用计数器来计算序列: 如果想使用kettle生成的 序列,使用此项。
计数器名称(可选):如果一个转换中多个步
骤生成同样的值名称,这个选项允许你指定计数 器的名称,避免按照先后顺序通过多个步骤。 起始值: 序列的起始值 增量 : 序列的增量 最大值 : 序列的最大值,如果超过,将重新开始
1.6.2 任务 1. Job Entry : 一个 一个Job Entry 是一个任务的一部分,它执行某些内容。 是一个任务的一部分,它执行某些内容。 2. Hop: 一个 一个Hop 代表两个步骤之间的一个或者多个数据流。一个 代表两个步骤之间的一个或者多个数据流。一个Hop总是代 总是代 表着两个Job Entry 之间的连接,并且能够被原始的 之间的连接,并且能够被原始的Job Entry设置,无 设置, 表着两个 设置 条件的执行下一个JobEntry,直到执行成功或者失败。 直到执行成功或者失败。 条件的执行下一个 直到执行成功或者失败

KETTLE使用说明及带输入参数的java调用

KETTLE使用说明及带输入参数的java调用

ETL工具——kettle使用说明1简介ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),Kettle是一款国外开源的etl工具,纯java编写,数据抽取高效稳定。

2运行环境:OS:Window、Linux、Unix均可Jdk1.4以上3开始使用:Kettle可以在/网站下载。

下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。

(本文着重介绍kettle3.2.0稳定版)Spoon 是一个图形用户界面,在不同平台上运行Spoon需要不同的脚本:Spoon.bat: 在windows 平台运行Spoon(或直接点击Kettle.exe)。

Spoon.sh: 在Linux、Apple OSX、Solaris 平台运行Spoon。

登陆一般选择没有资源库:Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

4转换(Transformation)新建一个转换kettle默认transformation文件保存后后缀名为ktr新建数据库连接(此链接也可在用到的节点处配置)填写数据源配置内容点击Test测试连接成功:核心对象切换到核心对象,菜单列出的是Transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。

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

常用节点介绍(红色节点后面逐一演示)表输入双击拖动到工作面板上的表输入结点,选择(或者新建)所需要的数据库连接,点击获取SQL查询语句或自行编辑SQL。

若需根据前一步获取数据进行查询,可用“?”号代替,变量顺序与前一节点相同字段选择界面如下:选择和修改:指定需要流到输出流中的字段的精确顺序和名称删除:指定从输出流中删除的字段(以后输出流将不会获取到此数据) 元数据:修改元数据字段的名称、类型、长度和精度✓插入/更新如下图,表示当原表的id=new_test.id时,比较createdate和account,若不同就进行更新,如果没有此id就插入该数据运行Transformation:一个简单的Transformation如下:这里可以不用配置直接启动执行结果中可以查到执行步骤以及输出日志新建一个Job核心对象菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。

Kettle开发使用手册

Kettle开发使用手册

Kettle 开发使用手册Kettle 开发使用手册2 0 1 7 年 4 月版本历史说明版本作者日期备注1.0彭伟峰2017.04.111. Kettle 介绍1.1. 什么是 KettleKettle 是纯 Java编写的、免费开源的 ETL工具,主要用于抽取 (Extraction)、转换 (Transformation)、和装载(Loading)数据。

Kettle中文名称叫水壶,该项目的主程序员 MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。

在这种思想的设计下,Kettle 广泛用于不同数据库之间的数据抽取,例如Mysql 数据库的数据传到 Oracle ,Oracle 数据库的数据传到 Greenplum数据库。

1.2. Kettle的安装Kettle 工具是不需要安装的,直接网上下载解压就可以运行了。

不过它依赖于Java,需要本地有 JDK环境,如果是安装 4.2 或 5.4 版本, JDK需要 1.5 以上的版本,推荐 1.6 或 1.7 的 JDK。

运行 Kettle直接双击里面的批处理文件spoon.bat 就行了,如图 1.1 所示:图1.12. Kettle 脚本开发2.1. 建立资源库( repository 仓库)Repository仓库是用来存储所有kettle文件的文件系统,由于数据交换平台服务器管理 kettle文件也是用Repository仓库,因此我们这边本地的kettle开发环境也是要用到该资源库。

建立资源库的方式是工具-->资源库- ->连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettlefile repository选项,按确定,如图 2.1 所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图 2.2 所示:图2.2建完后会 kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。

Kettle开源ETL平台_安装配置及使用说明v1.1

Kettle开源ETL平台_安装配置及使用说明v1.1

Kettle开源ETL平台_安装配置及使用说明v1.1修订记录目录修订记录........................................................................................................................... ......... 错误!未定义书签。

1.安装与配置........................................................................................................................ 错误!未定义书签。

1.1ETL与K ETTLE概述................................................................................................. 错误!未定义书签。

1.2K ETTLE的下载与安装 .............................................................................................. 错误!未定义书签。

1.2.1Windows下安装配置Kettle ................................................................................. 错误!未定义书签。

1.2.2Linux下安装配置Kettle....................................................................................... 错误!未定义书签。

1.2.3Kettle下安装JDBC数据库驱动 ......................................................................... 错误!未定义书签。

Kettle使用+说明

Kettle使用+说明
Kettle 使用简要说明
2014/10/06
设置和坑[1]
• 需要配置pentaho-big-data-plugin 目录中的plugin.properties文件
▫ 把active.hadoop.configuration = 的值改成 hadp20
• mysql貌似连不上,需要把mysql-connector-java-***-bin.jar 放到lib目录中
Transformation举例二:支持hive表操作
• 支持Hive的表操作,结合使用hadoop file output 可以支持从关系型 数据库向hive表中导入数据
Transformation举例三:数据同步
Hyperbase 外表
改表的列的 顺序和类型
• 支持数据更新和同步
▫ 两张表的列的顺序和数据格式必须一模一样 ▫ 注意hyperbase id 为字典序,但RDB id则不一定
combined with transactions: This status table holds for all jobs/transformations all tables that need to be in a consistent state. For all tables the last processed keys (source/target) and the status is saved. Some tables might need compound keys depending on the ER-design. It is also possible to combine this approach with the own Kettle transformation log tables and the Dates and Dependencies functionality. There is an extended example in the Pentaho Data Integration for Database Developers (PDI2000C) course in module ETL patterns (Patterns: Batching, Transaction V - Status Table) • Snapshot-Based CDC • When no suitable time stamps or IDs are available or when some records might have been updated, you need the snapshot-based approach. Store a copy of the loaded data (in a table or even a file) and compare record by record. It is possible to create a SQL statement that queries the delta or use a transformation. Kettle supports this very comfortable by the Merge rows (diff) step. There is an extended example in the Pentaho Data Integration for Database Developers (PDI2000C) course in module ETL patterns (Pattern: Change Data Capture) • Trigger-Based CDC • Kettle does not create triggers in a database system and some (or most?) people don't like the trigger-based CDC approach because it introduces a further layer of complexity into another system. Over time it is hard to maintain and keep in sync with the overall architecture. But at the end, it depends on the use case and might be needed in some projects. There are two main options: • Create a trigger and write the changed data to a separate table • This table has a time stamp or sequenced ID that can be used to select the changed data rows. • Create a trigger and call Kettle directly via the Kettle API • This scenario might be needed in real-time CDC needs, so a Kettle transformation might be called directly from the trigger. Some databases support Java calls from a trigger (e.g. PL/Java for PostgreSQL or Oracle, see References below). • If you are using Hibernate to communicate with the database, you can use Hibernate event listeners as triggers (package summary). That way it would work with every database when you use standard SQL queries or HQL queries in the triggers. • Database Log-Based CDC • Some databases allow own CDC logs that can be analyzed. • Real-time CDC • So in case you need Real-time CDC, some of the above solutions will solve this need. Depending on the timing (how real-time or near-time) your needs are, you may choose the best suitable option. The trigger based call of Kettle is the most real-time solution. It is also possible to combine all of the above solutions with a continuously executed transformation (e.g. every 15 minutes) that collects the changed data.

开源ETL工具之Kettle介绍

开源ETL工具之Kettle介绍

开源ETL⼯具之Kettle介绍What起源Kettle是⼀个Java编写的ETL⼯具,主作者是Matt Casters,2003年就开始了这个项⽬,最新稳定版为7.1。

2005年12⽉,Kettle从2.1版本开始进⼊了开源领域,⼀直到4.1版本遵守LGPL协议,从4.2版本开始遵守Apache Licence 2.0协议。

Kettle在2006年初加⼊了开源的BI公司Pentaho, 正式命名为:Pentaho Data Integeration,简称“PDI”。

⾃2017年9⽉20⽇起,Pentaho已经被合并于⽇⽴集团下的新公司: Hitachi Vantara。

总之,Kettle可以简化数据仓库的创建,更新和维护,使⽤Kettle可以构建⼀套开源的ETL解决⽅案。

架构Kettle是⼀个组件化的集成系统,包括如下⼏个主要部分:1.Spoon:图形化界⾯⼯具(GUI⽅式),Spoon允许你通过图形界⾯来设计Job和Transformation,可以保存为⽂件或者保存在数据库中。

也可以直接在Spoon图形化界⾯中运⾏Job和Transformation,2.Pan:Transformation执⾏器(命令⾏⽅式),Pan⽤于在终端执⾏Transformation,没有图形界⾯。

3.Kitchen:Job执⾏器(命令⾏⽅式),Kitchen⽤于在终端执⾏Job,没有图形界⾯。

4.Carte:嵌⼊式Web服务,⽤于远程执⾏Job或Transformation,Kettle通过Carte建⽴集群。

5.Encr:Kettle⽤于字符串加密的命令⾏⼯具,如:对在Job或Transformation中定义的数据库连接参数进⾏加密。

基本概念1.Transformation:定义对数据操作的容器,数据操作就是数据从输⼊到输出的⼀个过程,可以理解为⽐Job粒度更⼩⼀级的容器,我们将任务分解成Job,然后需要将Job分解成⼀个或多个Transformation,每个Transformation只完成⼀部分⼯作。

ELT平台操作手册-KETTLE

ELT平台操作手册-KETTLE

智能数据比对系统ELT平台操作手册【用户手册】广州市灵讯通信科技有限公司2011-01-7目录第1章系统介绍 (5)1.1系统简介 (5)第2章系统管理 (5)2.1基本概念 (5)2.2主界面介绍 (5)2.3基本功能 (8)第3章转换步骤 (13)3.1文本文件输入 (13)3.2表输入 (21)3.3EXCEL输入 (22)3.4CSV文件输入 (22)3.5文本文件输出 (24)3.6表输出 (25)3.7EXCEL输出 (27)3.8插入/更新 (30)3.9更新 (32)3.10删除 (34)3.11调用DB存储过程 (35)3.12S WITCH分支 (36)3.13修改J AVA S CRIPT的值 (37)3.14值映射 (39)3.15列转行 (40)3.16去除重复记录 (41)3.17去除重复记录(哈希集合) (42)3.18增加常量 (42)3.19增加序列 (43)3.20字段选择 (45)3.21字符串裁剪 (46)3.22封锁步骤 (47)3.23执行SQL脚本 (48)3.24执行SQL脚本行 (50)3.25拆分字段 (51)3.26排序记录 (52)3.27数据库查询 (54)3.28数据库连接 (55)3.29替换字符串 (57)3.30空操作 (58)3.31行扁平化 (58)3.32行标准化 (60)3.33计算器 (61)3.34过滤记录 (63)3.35追加流 (64)3.36从结果中获取文件 (64)3.37把文件设置到结果中 (65)3.39获取系统信息 (67)3.40设置变量 (68)第4章作业步骤 (69)4.1S TART(开始) (69)4.2DUMMY (70)4.3转换 (70)4.4采集作业 (72)4.5S HELL (73)4.6SQL (75)4.7发邮件 (76)4.8收邮件 (78)4.9消息对话框 (80)4.10FTP (81)4.11HTTP (83)4.12SSH2上传 (84)4.13SSH2获取 (86)4.14Z IP 文件 (86)4.15上传文件到FTP (88)4.16从FTP下载文件 (88)4.17使用加密的FTP上传 (89)4.18写到文件 (89)4.19创建一个文件夹 (90)4.20创建文件 (91)4.21删除FTP文件 (92)4.22删除多个文件 (93)4.23删除文件 (94)4.24删除文件夹 (94)4.25在结果中删除文件名 (95)4.26复制或移动结果文件 (96)4.27复制文件 (98)4.28安全的FTP (99)4.29文件比较 (100)4.30比较文件夹 (101)4.31添加文件名到结果 (102)4.32移动文件 (103)4.33等待文件 (104)4.34解压ZIP文件 (105)4.35列在表中存在 (107)4.36判断文件夹是否为空 (108)4.37判断文件是否存在 (109)4.38判断文件的指标 (109)4.39判断是否有文件被锁定 (111)4.40判断表中的行数 (112)4.41文件存在 (113)4.42检查W EB S ERVICE的可用性 (113)4.43检查数据库连接 (114)4.45等待 (115)4.46简单评估 (116)第1章系统介绍1.1 系统简介ETL平台用于数据的抽取、转换、加载,为数据比对提供数据的采集、转换、导入、导出等功能。

Kettle的安装及简单使用

Kettle的安装及简单使用

Kettle的安装及简单使⽤Kettle的安装及简单使⽤⽬录⼀、kettle概述1、什么是kettleKettle是⼀款开源的ETL⼯具,纯java编写,可以在Window、Linux、Unix上运⾏,绿⾊⽆需安装,数据抽取⾼效稳定。

2、Kettle⼯程存储⽅式(1)以XML形式存储(2)以资源库⽅式存储(数据库资源库和⽂件资源库)3、Kettle的两种设计4、Kettle的组成5、kettle特点⼆、kettle安装部署和使⽤Windows下安装(1)概述在实际企业开发中,都是在本地环境下进⾏kettle的job和Transformation开发的,可以在本地运⾏,也可以连接远程机器运⾏(2)安装步骤1、安装jdk2、下载kettle压缩包,因kettle为绿⾊软件,解压缩到任意本地路径即可3、双击Spoon.bat,启动图形化界⾯⼯具,就可以直接使⽤了案例1:MySQL to MySQL把stu1的数据按id同步到stu2,stu2有相同id则更新数据1、在mysql中创建testkettle数据库,并创建两张表create database testkettle;use testkettle;create table stu1(id int,name varchar(20),age int);create table stu2(id int,name varchar(20));2、往两张表中插⼊⼀些数据insert into stu1 values(1001,'zhangsan',20),(1002,'lisi',18), (1003,'wangwu',23);insert into stu2 values(1001,'wukong');3、把pdi-ce-8.2.0.0-342.zip⽂件拷贝到win环境中指定⽂件⽬录,解压后双击Spoon.bat,启动图形化界⾯⼯具,就可以使⽤了主界⾯:在kettle中新建转换--->输⼊--->表输⼊-->表输⼊双击在data-integration\lib⽂件下添加mysql驱动在数据库连接栏⽬点击新建,填⼊mysql相关配置,并测试连接建⽴连接后,选择刚刚建好的连接,填⼊SQL,并预览数据:以上说明stu1的数据输⼊ok的,现在我们需要把输⼊stu1的数据同步到stu2输出的数据注意:拖出来的线条必须是深灰⾊才关联成功,若是浅灰⾊表⽰关联失败转换之前,需要做保存执⾏成功之后,可以在mysql查看,stu2的数据mysql> select * from stu2;+------+----------+| id | name |+------+----------+| 1001 | zhangsan || 1002 | lisi || 1003 | wangwu |+------+----------+3 rows in set (0.00 sec)案例2:使⽤作业执⾏上述转换,并且额外在表stu2中添加⼀条数据1、新建⼀个作业2、按图⽰拉取组件3、双击Start编辑Start4、双击转换,选择案例1保存的⽂件5、在mysql的stu1中插⼊⼀条数据,并将stu2中id=1001的name改为wukong mysql> insert into stu1 values(1004,'stu1',22);Query OK, 1 row affected (0.01 sec)mysql> update stu2 set name = 'wukong' where id = 1001;Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 06、双击SQL脚本编辑7、加上Dummy,如图所⽰:8、保存并执⾏9、在mysql数据库查看stu2表的数据mysql> select * from stu2;+------+----------+| id | name |+------+----------+| 1001 | zhangsan || 1002 | lisi || 1003 | wangwu || 1004 | stu1 || 1005 | kettle |+------+----------+5 rows in set (0.00 sec)案例3:将hive表的数据输出到hdfs1、因为涉及到hive和hbase(后续案例)的读写,需要修改相关配置⽂件修改解压⽬录下的data-integration\plugins\pentaho-big-data-plugin下的plugin.properties,设置active.hadoop.configuration=hdp26,并将如下配置⽂件拷贝到data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26下2、启动hadoop集群、hiveserver2服务3、进⼊hive shell,创建kettle数据库,并创建dept、emp表create database kettle;use kettle;CREATE TABLE dept(deptno int,dname string,loc string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';CREATE TABLE emp(empno int,ename string,job string,mgr int,hiredate string,sal double,comm int,deptno int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';4、插⼊数据insert into dept values(10,'accounting','NEW YORK'),(20,'RESEARCH','DALLAS'),(30,'SALES','CHICAGO'),(40,'OPERATIONS','BOSTON');insert into emp values(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20),(7499,'ALLEN','SALESMAN',7698,'1980-12-17',1600,300,30),(7521,'WARD','SALESMAN',7698,'1980-12-17',1250,500,30),(7566,'JONES','MANAGER',7839,'1980-12-17',2 5、按下图建⽴流程图表输⼊表输⼊2排序记录记录集连接字段选择⽂本⽂件输出6、保存并运⾏查看hdfs运⾏查看HDFS⽂件案例4:读取hdfs⽂件并将sal⼤于1000的数据保存到hbase中1、在HBase中创建⼀张people表hbase(main):004:0> create 'people','info'2、按下图建⽴流程图⽂本⽂件输⼊设置过滤记录设置HBase output编辑hadoop连接,并配置zookeeper地址执⾏转换查看hbase people表的数据scan 'people'注意:若报错没有权限往hdfs写⽂件,在Spoon.bat中第119⾏添加参数"-DHADOOP_USER_NAME=root" "-Dfile.encoding=UTF-8"三、创建资源库1、数据库资源库数据库资源库是将作业和转换相关的信息存储在数据库中,执⾏的时候直接去数据库读取信息,⽅便跨平台使⽤在MySQL中创建kettle数据库mysql> create database kettle;Query OK, 1 row affected (0.01 sec)点击右上⾓connect,选择Other Resporitory选择Database Repository建⽴新连接填好之后,点击finish,会在指定的库中创建很多表,⾄此数据库资源库创建完成连接资源库默认账号密码为admin将之前做过的转换导⼊资源库选择从xml⽂件导⼊点击保存,选择存储位置及⽂件名查看MySQL中kettle库中的R_TRANSFORMATION表,观察转换是否保存2、⽂件资源库将作业和转换相关的信息存储在指定的⽬录中,其实和XML的⽅式⼀样创建⽅式跟创建数据库资源库步骤类似,只是不需要⽤户密码就可以访问,跨平台使⽤⽐较⿇烦选择connect点击add后点击Other Repositories选择File Repository填写信息四、 Linux下安装使⽤1、单机jdk安装安装包上传到服务器,并解压注意:1. 把mysql驱动拷贝到lib⽬录下2. 将windows本地⽤户家⽬录下的隐藏⽬录C:\Users\⾃⼰⽤户名\.kettle ⽬录,整个上传到linux的⽤户的家⽬录下,root⽤户的家⽬录为/root/运⾏数据库资源库中的转换:cd /usr/local/soft/data-integration./pan.sh -rep=my_repo -user=admin -pass=admin -trans=tran1参数说明:-rep 资源库名称-user 资源库⽤户名-trans 要启动的转换名称-dir ⽬录(不要忘了前缀 /)(如果是以ktr⽂件运⾏时,需要指定ktr⽂件的路径)运⾏资源库⾥的作业:记得把作业⾥的转换变成资源库中的资源记得把作业也变成资源库中的资源cd /usr/local/soft/data-integrationmkdir logs./kitchen.sh -rep=my_repo -user=admin -pass=admin -job=job1 -logfile=./logs/log.txt参数说明:-rep - 资源库名-user - 资源库⽤户名-pass – 资源库密码-job – job名-dir – job路径(当直接运⾏kjb⽂件的时候需要指定)-logfile – ⽇志⽬录2、集群模式准备三台服务器master作为Kettle主服务器,服务器端⼝号为8080,node1和node2作为两个⼦服务器,端⼝号分别为8081和8082。

Kettle工具的安装和部署、入门

Kettle工具的安装和部署、入门

Kettle⼯具的安装和部署、⼊门k ettle介绍kettle是⼀个开源的ETL⼯具,纯java代码编写,可以在Windows、linux、unix系统上运⾏绿⾊⽆需安装,⾼效的完成数据抽取转换加载。

1、kettle存储⽅式 xml形式存储 以资源库⽅式存储(数据库资源库、⽂件资源库)2、kettle设计 转换:tranform,完全针对数据的基础进⾏转换 作业:job:整个⼯作流的控制区别: 作业是步骤流,转换是数据流,这就是job和tranform最⼤的区别 作业的每个步骤,必须等到前⾯的步骤执⾏完毕,后⾯的步骤才会执⾏,⽽转换会⼀次性把所有控件先启动(⼀个控件对应⼀个线程)3、kettle组成 3.1 spoon.bat/spoon.sh 勺⼦:⼀个图形化界⾯,可以让我们⽤图形化的⽅式开发tranform和job 3.2 pan.abt/pan.sh 煎锅: 利⽤pan来调⽤tranform 3.3 kitchen.bat/kitchen.sh 厨房: 利⽤kitchen命令来调⽤job 3.4 Carte.bat/Carte.sh : 菜单: 轻量级的web服务器,⽤于建⽴远程的ETL服务器kettle安装部署1、现在⽹上下载好安装包2、直接解压,运⾏Spoon.bat就可以启动了 在此之前需要配置jdk环境变量到此kettle⼯具就安装好了⼊门案例 - kettle实现单表数据迁移1、连接数据库驱动在运⾏之前,我们需要下载对应数据库的jar包导⼊到Kettle的lib⽬录下,⽐如我们需要把oracle迁移到mysql,那就需要oracle和mysql两个jar包,我⽤的是这⾥两个:2、配置kettle转换双击打开spoon.bat,在左侧主对象菜单栏,新建⼀个转换,命名为abcd,如下图:3、配置oracle和mysql连接在DB连接⼀栏,右击新建连接,配置数据库连接注意主机名称尽量不要填localhost点击测试,显⽰成功即为配置完成4、配置迁移步骤在左侧菜单栏【转换】⾥⾯,选择【核⼼对象】,选中输⼊下将【表输⼊】拖拽到右侧空⽩区域。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KETTLE 开源ETL软件】【安装配置与使用说明】2015 年09 月修订记录目录修订记录 (2)1.安装与配置 (4)1.1ETL 与K ETTLE概述 (4)1.2K ETTLE的下载与安装 (7)1.2.1Windows下安装配置 ............................................ Kettle 81.2.2Linux 下安装配置.................................................. Kettle101.2.3Kettle 下安装..................................................... JDBC数据库驱动151.2.4下配置资源库连接 (15)1.2.5Kettle 下 Hadoop Plugin 插件配置 (17)2.KETTLE组件介绍与使用 (19)2.1K ETTLE SPOON使用 (19)2.1.1组件树介绍 (20)2.1.2使用示例.......................................................... 1 232.1.3使用示例.......................................................... 2 372.1.4使用Kettle 装载数据到..................................... HDFS482.1.5使用Kettle 装载数据到 (iv)522.1.6使用 Kettle 进行 hadoop的 mapreduce图形化开发 (52)2.2K ETTLE PAN的使用 (63)2.3K ETTLE KITECHEN的使用 (64)2.4C ARTE添加新的ETL执行引擎 (65)2.5E NCR加密工具 (68)1.安装与配置2015年下半年公司承接了江苏电信电子渠道中心数据分析项目,项目实现计划使用大数据应用与分析相关的开源组件与技术来实现;针对数据的抽取与清理,需要使用ETL工具;针对不同的数据源的数据整合需求,考虑到项目投资与开发成本,项目组初步计划采用开源ETL工具;ETL ( Extract ,Transformation ,Load)工具是构建数据仓库、进行数据整合工作所必须使用的工具。

目前市面有多种商业ETL 工具,如InformaticaPowerCenter,IBM Datastage 等。

目前市场上开源且实用的ETL 工具比较少,Kettle 就是为数不多的优秀开源ETL 工具之一。

经过比较与分析,选择了K ettle 作为本项目使用的ETL工具。

1.1E TL 与Kettle 概述ETL( Extract 、Transform 、Load,抽取、转换、装载) ,它是BI 项目中最常见、基础的数据加工行为。

构建数据仓库期间,各类业务系统的数据需要经过严格的ETL过程,才能够进入到数据仓库中,进而为后续的数据展现、分析提供支撑。

通常,由于企业的各业务系统数据口径不一致,比如不同应用存储性别的方式存在差异性、银行应用中不同币种的统一、零售应用中商品计价方式的统一等,使得BI 项目必须实施ETL工作,否则在含糊、不准确的数据上进行各种数据行为是徒劳的、没有意义的。

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

比如,在制作即席报表期间,用户希望这些报表的运行时间越短越好,然而如果报表使用到的数据粒度很细、数据量很大,则要控制好报表的运行时间估计够呛。

此时,我们往往需要对数据进行各种层次的聚合操作,比如可以将“日”级别存储的数据预先聚合成按周、月、季度的数据。

将来,运行报表的时间将得到有效控制,毕竟RDBMS能够更快速响应客户提交的SQL请求。

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

Kettle 是一款国外开源的ETL 工具,纯Java 编写,可以在Window、Linux 、Unix等不同的操作系统平台上运行,数据抽取高效稳定。

Kettle 这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述用户想做什么,而不是用户想怎么做。

在Kettle ETL解决方案中,主要存在两种ETL工件:转换(Transformation )和作业(Job)。

ETL转换,专注于数据加工本身,比如装卸数操作、数据编码转换;ETL作业,专注于流程控制,比如执行若干ETL转换、将加工后的文件借助S SH2传输出去等。

通常,ETL作业会包含若干ETL转换,并控制它们的执行,而且作业会以一定周期执行,比如每周二执行、每隔 3 小时执行等。

Kettle 家族目前包括4个产品:SPOO、NPAN、CART、E KITCHEN。

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

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

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

CARTE类似于P entaho 管理控制台,它们都宿主在Jetty Web 容器中,但各自承担的使命不同。

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

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

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

Kettle 基于Eclipse RCP 框架开发,针对运行环境只需要GUI图形用户界面和以上的JVM环境支持即可,Kettle 程序运行时典型demo显示截图如下:在上面SPOON程序中可以使用图元的形式完成用户自定义的transformation ,通过transformation 完成针对数据的基础转换,D emo如下截图所示:可以从Kettle 运行时日志,查看该transformation 转换有没有finished 、每个步骤的耗时、速度、平均每秒多少行、总共插入了多少记录数等。

1.2Kettle 的下载与安装截止到2015 年11 月,Kettle (Pentaho Data Integration) 软件的最新版本号为0-353 。

新版本的Kettle 软件被改名为Pentaho Data Integration (PDI) ,作为商业开源BI 套件Pentaho BIEE 中默认的ETL工具,可以在Pentaho 官方站点下载其最新的版本。

官方网站上Kettle 软件的下载链接会重定向到开源下载站点,如下图所示:图 Kettle 的下载上述 版本 Kettle 软件的 Download URL 下载链接为:http/ftp 下载工具下载;Linux 下可以使用wget/curl 等命令行方式1.2.1 Windows 下安装配置 Kett le 1、 检查 JDK 或者以上版本JDK 环境已经完成安装。

如果没有安装, 需要从 OracleJDK 二进制软件包并完成安装,并配置好 JAVA_HOME,欢迎界面如下图所示:CLASSPAT 等相关环境变量。

H2、 将下载完成的版本 Kettle软件 ZIP 包解压缩到 Windows 下任意目录,例如D:\Kettle3、 运行 Kettle ,在 Windows 下定位到 $KETTLE_HOM 批处理程序,双击运行 E/启动后,Spoon IDE的界面Demo 截图如下:1.2.2Linux 下安装配置Kettle1、安装JDK,版本要在及以上,建议安装JDK 在Oracle 官网上下载JDK二进制安装包,并安装rpm:rpm -ivhbin: chmod +x./tar :tar zxvf配置环境变量:#vi /etc/profile编辑加入以下内容#set java JDKJAVA_HOME=/usr/local/JRE_HOME=/usr/local/PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=$JAVA_HOME/lib/:$JAVA_HOME/lib/export JAVA_HOMEexport JRE_HOMEexport PATHexport CLASSPATH变更环境变量,检查安装是否成功:#source /etc/profilejava -version2、安装配置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图形界面环境:#sudo apt-get install xrdp#sudo apt-get install vnc4server#sudo apt-get install xubuntu-desktop#echo "xfce4-session" >~/.xsession #sudo service xrdp restartWindows 下“运行”输入"mstsc"--> 回车--> 输入Ubuntu 主机的IP 地址-->选择"sesman-Xvnc"--> 输入" 用户名和密码"-这时候可能会提示如下错误:连接" >回车这时需要执行如下命令vi ~/.kettle/.spoonrc输入以下文字:ShowWelcomePageOnStartup=N保存,同时修改./kettle/.spoonrc 文件中的该参数。

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

通过ls -a 可以看到。

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

在Linux X11 环境下运行Kettle 的主程序S poon的主窗口Main Window界面截图如下:1.2.3Kettle 下安装JDBC数据库驱动Kettle 默认不带Oracle 驱动,此时在运行时无法使用JDBC连接数据库;这个时候需要下载包;解压缩后将jdbc 目录下数据库JDBC驱动对应的jar 文件拷贝$KETTLE_HOME\data-integration\lib 目录下,问题即可解决。

相关文档
最新文档