Kettle命令行使用说明

Kettle命令行使用说明
Kettle命令行使用说明

Kettle命令行使用说明

1.KETTLE简介

说到ETL开源项目,Kettle当属翘首,项目名称很有意思,水壶。按项目负责人Matt 的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。呵呵,外国人都很有联想力。

看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到Kettle的四大块:

1)Chef——工作(job)设计工具(GUI方式)

2)Kitchen——工作(job)执行器(命令行方式)

3)Spoon——转换(transform)设计工具(GUI方式)

4)Span——转换(trasform)执行器(命令行方式)

1.1.Chef——工作(job)设计器

这是一个GUI工具,操作方式主要通过拖拖拉拉,勿庸多言,一看就会。

何谓工作?多个作业项,按特定的工作流串联起来,开成一项工作。正如:我的工作是软件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编码完成则开始设计,周而复始,作业完成。

1.1.1.Chef中的作业项包括:

1)转换:指定更细的转换任务,通过Spoon生成。通过Field来输入参数;

2)SQL:sql语句执行;

3)FTP:下载ftp文件;

4)邮件:发送邮件;

5)检查表是否存在;

6)检查文件是否存在;

7)执行shell脚本:如dos命令。

8)批处理:(注意:windows批处理不能有输出到控制台)。

9)Job包:作为嵌套作业使用。

10)JavaScript执行:这个比较有意思,我看了一下源码,如果你有自已的Script引擎,

可以很方便的替换成自定义Script,来扩充其功能;

11)SFTP:安全的Ftp协议传输;

12)HTTP方式的上/下传。

1.1.

2.工作流

如上文所述,工作流是作业项的连接方式。分为三种:无条件,成功,失败,为了方便工作流使用,KETTLE提供了几个辅助结点单元(也可将其作为简单的作业项):Start单元:任务必须由此开始。设计作业时,以此为起点。

OK单元:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。

ERROR单元:用途同上。

DUMMY单元:什么都不做,主要是用来支持多分支的情况,文档中有例子。

1.1.3.存储方式

支持XML存储,或存储到指定数据库中。

一些默认的配置(如数据库存储位置……),在系统的用户目录下,单独建立了一个.Kettle 目录,用来保存用户的这些设置。

1.1.4.LogView

可查看执行日志。

1.2.Kitchen——作业执行器

是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,没啥可讲的,就把它的参数说明列一下。

1)-rep:Repositoryname任务包所在存储名

2)-user:Repositoryusername执行人

3)-pass:Repositorypassword执行人密码

4)-job:Thenameofthejobtolaunch任务包名称

5)-dir:Thedirectory(don'tforgettheleading/or\)

6)-file:Thefilename(JobXML)tolaunch

7)-level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别

8)-log:Theloggingfiletowriteto指定日志文件

9)-listdir:Listthedirectoriesintherepository列出指定存储中的目录结构。

10)-listjobs:Listthejobsinthespecifieddirectory列出指定目录下的所有任务

11)-listrep:Listthedefinedrepositories列出所有的存储

12)-norep:Don'tlogintotherepository不写日志

嗯,居然不支持调度。看了一下文档,建议使用操作系统提供的调度器来实现调度,比如:Windows可以使用它的任务计划工具。

1.3.Spoon——转换过程设计器

GUI工作,用来设计数据转换过程,创建的转换可以由Pan来执行,也可以被Chef所包含,作为作业中的一个作业项。

下面简单列举一下所有的转换过程。(简单描述,详细的可见Spoon文档)

1.3.1.Input-Steps:输入步骤

lTextfileinput:文本文件输入

可以支持多文件合并,有不少参数,基本一看参数名就能明白其意图。

lTableinput:数据表输入

实际上是视图方式输入,因为输入的是sql语句。当然,需要指定数据源(数据源的定制方式在后面讲一下)

lGetsysteminfo:取系统信息

就是取一些固定的系统环境值,如本月最后一天的时间,本机的IP地址之类。

lGenerateRows:生成多行。

这个需要匹配使用,主要用于生成多行的数据输入,比如配合Addsequence可以生成一个指定序号的数据列。

lXBaseInput

lExcelInput

lXMLInput

这三个没啥可讲的,看看参数就明了。

1.3.

2.Output-Steps:输出步聚

lTextfileoutput:文本文件输出。这个用来作测试蛮好,呵呵。很方便的看到转换的输出。

lTableoutput:输出到目的表。

lInsert/Update:目的表和输入数据行进行比较,然后有选择的执行增加,更新操作。

lUpdate:同上,只是不支持增加操作。

lXMLOutput:

1.3.3.Look-up:查找操作

lDataBase

lStream

lProcedure

lDatabasejoin

1.3.4.Transform转换

lSelectvalues

对输入的行记录数据的字段进行更改(更改数据类型,更改字段名或删除)数据类型变更时,数据的转换有固定规则,可简单定制参数。可用来进行数据表的改装。

lFilterrows

对输入的行记录进行指定复杂条件的过滤。用途可扩充sql语句现有的过滤功能。但现有提供逻辑功能超出标准sql的不多。

lSortrows

对指定的列以升序或降序排序,当排序的行数超过5000时需要临时表。

lAddsequence

为数据流增加一个序列,这个配合其它Step(Generaterows,rowsjoin),可以生成序列表,

如日期维度表(年、月、日)。

lDummy

不做任何处理,主要用来作为分支节点。

lJoinRows

对所有输入流做笛卡儿乘积。

lAggregate

聚合,分组处理

lGroupby

分组,用途可扩充sql语句现有的分组,聚合函数。但我想可能会有其它方式的sql语句能实现。

lJavaScriptvalue

使用mozilla的rhino作为脚本语言,并提供了很多函数,用户可以在脚本中使用这些函数。

lRowNormaliser

该步骤可以从透视表中还原数据到事实表,通过指定维度字段及其分类值,度量字段,最终还原出事实表数据。

lUniquerows

去掉输入流中的重复行,在使用该节点前要先排序,否则只能删除连续的重复行。

lCalculator

提供了一组函数对列值进行运算,用该方式比用户自定义JAVASCRIPT脚本速度更快。

lMergeRows

用于比较两组输入数据,一般用于更新后的数据重新导入到数据仓库中。

lAddconstants:

增加常量值。

lRowdenormaliser

同Normaliser过程相反。

lRowflattener

表扁平化处理,指定需处理的字段和扃平化后的新字段,将其它字段做为组合Key进行扃平化处理。

1.3.5.除了上述基本节点类型外还定义了扩展节点类型

lSPLITFIELDS

按指定分隔符拆分字段

lEXECUTESQLSCRIPT

执行SQL语句

lCUBEINPUT

lCUBEOUTPUT

1.3.6.其它

l存储方式:与Chef相同。

l数据源(Connection);见后。

lHops:setp连接起来,形成Hops。

lPluginsteptypes等节点:这个没仔细看,不知如何制作Pluginstep。

lLogView:可查看执行日志。

1.4.Pan——转换的执行工具

命令行执行方式,可以执行由Spoon生成的转换任务。同样,不支持调度。参数与Kitchen 类似,可参见Pan的文档。

1.5.其它

Connection

可以配置多个数据源,在Job或是Trans中使用,这意味着可以实现跨数据库的任务。支持大多数市面上流行的数据库。

1.6.个人感觉:(本人不成熟的看法)

1、转换功能全,使用简洁。作业项丰富,流程合理。但缺少调度。

2、java代码,支持的数据源范围广,所以,跨平台性较好。

3、从实际项目的角度看,和其它开源项目类似,主要还是程序员的思维,缺少与实际应用项目(专业领域)的更多接轨,当然,项目实施者的专注点可能在于一个平台框架,而非实际应用(实际应用需要二次开发)。

4、看过了大多数源码,发现源码的可重用性不是太好(缺少大粒度封装),有些关键部分好像有Bug。比如:个别class过于臃肿,线程实现的同步有问题。

5、提供的工具有些小错,如参数的容错处理。

1.7.命令行执行实例

使用资源库(repository)登录时,默认的用户名和密码是admin/admin。

当job是存放在资源库(一般资源库都使用数据库)中时,使用Kitchen.bat执行job时,需使用如下的命令行:

Kitchen.bat-repkettle-useradmin-passadmin-jobjob名

当job没有存放在资源库而存放在文件系统时,使用Kitchen.bat执行job时,需使用如下的命令行:

Kitchen.bat-norep-fileuser-transfer-job.kjb

可以使用命令行执行job后,就可以使用windows或linux的任务调度来定时执行任务了命令,在控制台执行测试。

Kettle开发使用手册范本

Kettle开发使用手册 2017年4月

版本历史说明

1.Kettle介绍 1.1.什么是Kettle Kettle是纯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.1

2.Kettle脚本开发 2.1.建立资源库(repository仓库) Repository仓库是用来存储所有kettle文件的文件系统,由于数据交换平台服务器管理kettle文件也是用Repository仓库,因此我们这边本地的kettle 开发环境也是要用到该资源库。建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示: 图2.1 跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图2.2所示: 图2.2 建完后会kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。在连接到资源库的情况下打开文件就是

KETTLE组件介绍与使用

KETTLE组件介绍与使用 4.1 Kettle使用 Kettle提供了资源库的方式来整合所有的工作,; 1)创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr; 2)创建一个新的job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb; 4.2 组件树介绍 4.2.1Transformation 的主对象树和核心对象分别如下图:

Transformation中的节点介绍如下: Main Tree:菜单列出的是一个transformation中基本的属性,可以通过各个节点来查看。DB连接:显示当前transformation中的数据库连接,每一个transformation的数据库连接都需要单独配置。 Steps:一个transformation中应用到的环节列表 Hops:一个transformation中应用到的节点连接列表 核心对象菜单列出的是transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加: Input:输入环节 Output:输出环节 Lookup:查询环节 Transform:转化环节 Joins:连接环节 Scripting:脚本环节 4.2.2 Job 的主对象树和核心对象分别如下图: Main Tree菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。 DB连接:显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。 Job entries/作业项目:一个Job中引用的环节列表 核心对象菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。 每一个环节可以通过鼠标拖动来将环节添加到主窗口中。 并可通过shift+鼠标拖动,实现环节之间的连接。

Kettle开发使用手册

Kettle开发使用手册2017年4月

版本历史说明

1.Kettle介绍 1.1.什么是Kettle Kettle是纯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.1

2.Kettle脚本开发 2.1.建立资源库(repository仓库) Repository仓库是用来存储所有kettle文件的文件系统,由于数据交换平台服务器管理kettle文件也是用Repository仓库,因此我们这边本地的kettle开发环境也是要用到该资源库。建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示: 图2.1 跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图2.2所示: 图2.2 建完后会kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。在连接到资源库的情况下打开文件就是资源库所在目录了,如图2.3所示。注意你在资源库建的目录结构要跟数据交换平台的目录结构一致,这样写好kettle脚本,保存后放的路径能跟交换平台的目录结构一致了。

pentaho-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 下载地址:https://www.360docs.net/doc/1e3337914.html,/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 创建transformation过程 a.配置数据环境 在做这个例子之前,我们需要先配置一下数据源,这个例子中,我们用到了三个数据库,分别是:Oracle、MySql、SQLServer,以及一个文本文件。而且都放置在不同的主机上。 Oralce:ip地址为192.168.1.103,Oracle的实例名为scgtoa,创建语句为:create table userInfo( id int primary key,

自己总结的Kettle使用方法和成果

KETTLE使用自己总结的Kettle使用方法和成果说明 简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载到。 注:ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL 一词较常用在数据仓库,但其对象并不限于数据仓库。 下载和安装 首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。 下载网址:https://www.360docs.net/doc/1e3337914.html,/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。 由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。 ?Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载 ? 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。运行Kettle 进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat 或Kettle.exe文件。Linux用户需要运行spoon.sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令: # chmod +x spoon.sh # nohup ./spoon.sh &后台运行脚本 这样就可以打开配置Kettle脚本的UI界面。

Kettle使用手册

Kettle培训手册 Etl介绍 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。 Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 kettle部署运行 将kettle2.5.1文件夹拷贝到本地路径,例如D盘根目录。 双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面:

稍等几秒 选择没有资源库,打开kettle主界面

创建transformation,job 点击页面左上角的解并到本地路径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation 文件保存后后缀名为ktr 点击页面左上角的解并到本地路径,例如保存到D:/etltest下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb 创建数据库连接

在transformation页面下,点击左边的【Main Tree】,双击【DB连接】,进行数据库连接配置。 Connection name自命名连接名称 Connection type选择需要连接的数据库 Method of access选择连接类型 Server host name写入数据库服务器的ip地址 Database name写入数据库名 Port number写入端口号 Username写入用户名 Password写入密码 例如如下配置:

kettle使用手册

1打开程序,点击spoon.bat 其实对于简单的数据库数据的抽取,基本只需要转换(.ktr格式)和作业(.kjb格式)这两种东西。下面就是建立一个转换的步骤: a 点击文件-->新建-->转换。 b 在左侧的树状列表中选“主对象树”,新建DB连接(参照第4点)。 c 在核心对象-->输入这个地方拖出一个表输入,在“输出”目录下拖出“表输出”,按住shift,从一个对象拖到另一个对象可进行连线。 2基本作业由开始,转换,成功3步骤组成。步骤之间使用shift+左键连线。 2.1‘1’代表无条件执行; 2.2‘2’代表上一步执行完成后,再执行下一步; 2.3‘3’代表不执行,左击连接线使其生效(绿色)或失效(灰色)。

3打开具体步骤中的转换流程,点击‘Transformation’跳转至相应具体转换流程, 编辑此转换具体路径,双击转换,弹出窗口,‘1’为相对路径,点击‘2’选择具体Visit.ktr 转换,为绝对路径。

4建立数据库连接,输入相应信息测试,成功即可 图4 5转换具体设置,如图4,‘表输出’至‘文本文件输出’流程跳接线为错误处理步骤,当输出格式不能满足表输出的目的表结构类型时,将会将记录输出到‘文本文件输出’

中的记录中。 5.1双击‘表输入’,输入相应的SSQL语句,选择配置数据库连接,或新增,预览查 询生成的结果(如果数据库配置中使用变量获取,此处预览生成错误)。 5.2双击‘表输出’,选择数据库连接,‘浏览’选择相应目标表,(此处‘使用批量 插入’勾选去除,目的是在错误处理步骤中无法使用批量处理,可能是插件兼容 问题) 6表输出插件定义 a) Target Schema:目标模式。要写数据的表的Schema的名称。允许表明中包含“。”对数据源来 说是很重要的 b) 目标表:要写数据的表名。

kettle使用手册

1打开程序,点击 spoon.bat 其实对于简单的数据库数据的抽取,基本只需要转换(.ktr格式)和作业(.kjb格式)这两种东西。下面就是建立一个转换的步骤: a 点击文件-->新建-->转换。 b 在左侧的树状列表中选“主对象树”,新建DB连接(参照第4点)。 c 在核心对象-->输入这个地方拖出一个表输入,在“输出”目录下拖出“表输出”,按住shift,从一个对象拖到另一个对象可进行连线。 2基本作业由开始,转换,成功3步骤组成。步骤之间使用shift+左键连线。 2.1‘1’代表无条件执行; 2.2‘2’代表上一步执行完成后,再执行下一步; 2.3‘3’代表不执行,左击连接线使其生效(绿色)或失效(灰色)。

3打开具体步骤中的转换流程,点击‘Transformation’跳转至相应具体转换流程, 编辑此转换具体路径,双击转换,弹出窗口,‘1’为相对路径,点击‘2’选择具体Visit.ktr 转换,为绝对路径。

4建立数据库连接,输入相应信息测试,成功即可 图4 5转换具体设置,如图4,‘表输出’至‘文本文件输出’流程跳接线为错误处理步骤,当输出格式不能满足表输出的目的表结构类型时,将会将记录输出到‘文本文件输出’

中的记录中。 5.1双击‘表输入’,输入相应的SSQL语句,选择配置数据库连接,或新增,预览查询 生成的结果(如果数据库配置中使用变量获取,此处预览生成错误)。 5.2双击‘表输出’,选择数据库连接,‘浏览’选择相应目标表,(此处‘使用批量插 入’勾选去除,目的是在错误处理步骤中无法使用批量处理,可能是插件兼容问 题) 6表输出插件定义 a) Target Schema:目标模式。要写数据的表的Schema的名称。允许表明中包含“。”对数据源来 说是很重要的 b) 目标表:要写数据的表名。

KETTLE详细设计

KETTLE详细设计说明书 V0.1 变更记录

1 Kettle界面介绍 双击Kettle.exe或者Spoon.bat打开Kettle图形界面化如下: (图1.1) Kettle中有两类设计分别是:Transformation(转换)与Job(作业),Transformation完成针对数据的基础转换,Job则完成整个工作流的控制。 Kettle常用三大家族:Spoon、Pan、Kitchen。 Spoon:通过图形界面方式设计、运行、调试Job与Transformation。 Pan:通过脚本命令方式来运行Transformation。 Kitchen:通过脚本命令方式来运行Job,一般就是通过调用Kitchen脚本来完成定时任务。 说明:当打开Kettle时显示的是Kettle的相关版本信息与GNU相关协议说明。

(图1.2) 说明:打开Kettle时弹出的窗口提示以资源库方式登录相关信息,关于乌江水电项目工程存储方式是以XML文件方式来进行存储,所以我就直接点击“没有资源库”。 图(1.3) 说明:进入Kettle设计界面。提示关于Spoon相关信息,这里直接点击“关闭”按钮。

(图1.4) 说明:图片中所使用到的字母位置标识说明。 (A):Kettle所使用到的菜单栏。 (B):在使用Kettle时所涉及使用到的对象。 (C):Kettle中所有的组件。 (D):根据选择(B)或者(C)显示相应的结果。 (E):Kettle设计界面。 (图1.5) 说明: 文件:是对Kettle所生成的Job与Trans进行相关的操作,如:新建、打开、保存、导入、

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可以在https://www.360docs.net/doc/1e3337914.html,/网站下载 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可 3、Kettle环境配置(有Java环境的直接忽略此章节) 3、1安装java JDK 1)首先到官网上下载对应JDK包,JDK1.5或以上版本就行; 2)安装JDK; 3)配置环境变量,附配置方式:

Kettle使用模版说明

Kettle使用方法介绍 1、Kettle概念 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 2、下载和部署 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可 3、Kettle环境配置 1.安装JDK 2.1要运行此工具你必须安装Sun公司的JAVA运行环境1.4或者更高版本,相关 资源你可以从https://www.360docs.net/doc/1e3337914.html,上下载。 1.点击jdk-6u43-windows-i586.exe 2.选择文件安装路径

3.等待JAVA组件组件安装完成 4安装完成

Java.jdk1.6版本安装包 2.2添加JAVA_HOME环境变量 1.单击我的电脑-属性-选择环境变量

点击新建,变量名称为:JAVA_HOME 变量值为:jdk安装路径,如图所示

点击保存,配置成功 2.运行Kettle Windows下找到$KETTLE_HOME/spoon.dat,双击运行 欢迎界面如下图所示:

4、KETTLE组件介绍与使用 4.1 Kettle使用 Kettle提供了资源库的方式来整合所有的工作,; 1)创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr; 2)创建一个新的job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb;

Kettle的使用说明

KETTLE使用说明 简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载到。 注:ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL 一词较常用在数据仓库,但其对象并不限于数据仓库。 下载和安装 首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。 下载网址:https://www.360docs.net/doc/1e3337914.html,/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。 由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。 ?Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载 ? 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。运行Kettle 进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat 或Kettle.exe文件。Linux用户需要运行spoon.sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令: # chmod +x spoon.sh # nohup ./spoon.sh & 后台运行脚本 这样就可以打开配置Kettle脚本的UI界面。

Kettle 6.1安装部署及使用教程-贵在详细截图说明

1、Kettle概念 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 2、下载和部署 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可. 下载kettle包,并解压https://www.360docs.net/doc/1e3337914.html,/projects/data-integration/ 压缩包:(这里使用的是Kettle6.1版本) 解压:

3、Kettle环境配置 3.1安装JDK(略) 3.2测试JDK安装成功(略) JDK安装步骤见《Jdk1.6_win7_64安装及配置环境变量.docx》强调:kettle6.1版本,必须配套使用JDK1.7及以上版本。3.3运行Kettle Windows下找到$KETTLE_HOME/spoon.bat,双击运行. 欢迎界面如下图所示:

4、Kettle组件介绍与使用 4.1 Kettle使用 Kettle提供了资源库的方式来整合所有的工作,; 1)创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr; 2)创建一个新的job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb;

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

ETL工具——kettle使用说明 1简介 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),Kettle是一款国外开源的etl工具,纯java编写,数据抽取高效稳定。 2运行环境: OS:Window、Linux、Unix均可 Jdk1.4以上 3开始使用: Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载。下载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+鼠标拖动,实现环节之间的连接。

常用节点介绍(红色节点后面逐一演示) 类别环节名称功能说明 输入文本文件输入从本地文本文件输入数据 表输入从数据库表中输入数据 获取系统信息读取系统信息输入数据 输出文本文件输出将处理结果输出到文本文件 表输出将处理结果输出到数据库表 插入/更新根据处理结果对数据库表机型插入更新,如果数据库中不 存在相关记录则插入,否则为更新。会根据查询条件中字 段进行判断 更新根据处理结果对数据库进行更新,若需要更新的数据在数 据库表中无记录,则会报错停止 删除根据处理结果对数据库记录进行删除,若需要删除的数据

【推荐】2019年Kettle命令行使用说明

Kettle命令行使用说明 1.KETTLE简介 说到ETL开源项目,Kettle当属翘首,项目名称很有意思,水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。呵呵,外国人都很有联想力。 看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到Kettle 的四大块: 1)Chef——工作(job)设计工具(GUI方式) 2)Kitchen——工作(job)执行器(命令行方式) 3)Spoon——转换(transform)设计工具(GUI方式) 4)Span——转换(trasform)执行器(命令行方式) 1.1.Chef——工作(job)设计器 这是一个GUI工具,操作方式主要通过拖拖拉拉,勿庸多言,一看就会。 何谓工作?多个作业项,按特定的工作流串联起来,开成一项工作。正如:我的工作是软件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编码完成则开始设计,周而复始,作业完成。 1.1.1.Chef中的作业项包括: 1)转换:指定更细的转换任务,通过Spoon生成。通过Field来输入参数; 2)SQL:sql语句执行;

3)FTP:下载ftp文件; 4)邮件:发送邮件; 5)检查表是否存在; 6)检查文件是否存在; 7)执行shell脚本:如dos命令。 8)批处理:(注意:windows批处理不能有输出到控制台)。 9)Job包:作为嵌套作业使用。 10)JavaScript执行:这个比较有意思,我看了一下源码,如果你有自已的 Script引擎,可以很方便的替换成自定义Script,来扩充其功能; 11)SFTP:安全的Ftp协议传输; 12)HTTP方式的上/下传。 1.1. 2.工作流 如上文所述,工作流是作业项的连接方式。分为三种:无条件,成功,失败,为了方便工作流使用,KETTLE提供了几个辅助结点单元(也可将其作为简单的作业项): Start单元:任务必须由此开始。设计作业时,以此为起点。 OK单元:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。 ERROR单元:用途同上。 DUMMY单元:什么都不做,主要是用来支持多分支的情况,文档中有例子。

ETL开源工具,Kettle使用方法

ETL开源工具,Kettle使用方法 简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载到。 注:ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL 一词较常用在数据仓库,但其对象并不限于数据仓库。 下载和安装 首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。 下载网址:https://www.360docs.net/doc/1e3337914.html,/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。 由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。 ?Kettle可以在https://www.360docs.net/doc/1e3337914.html,/网站下载 ? 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。运行Kettle 进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat 或Kettle.exe文件。Linux用户需要运行spoon.sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令: # chmod +x spoon.sh # nohup ./spoon.sh & 后台运行脚本 这样就可以打开配置Kettle脚本的UI界面。

KETTLE组件介绍与使用

KETTLE组件介绍与使用 4、1 Kettle使用 Kettle提供了资源库得方式来整合所有得工作,; 1)创建一个新得transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr; 2)创建一个新得job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle 默认job文件保存后后缀名为kjb; 4、2 组件树介绍 4、2、1Transformation 得主对象树与核心对象分别如下图: Transformation中得节点介绍如下: Main Tree:菜单列出得就是一个transformation中基本得属性,可以通过各个节点来查瞧。DB连接:显示当前transformation中得数据库连接,每一个transformation得数据库连接都需要单独配置。 Steps:一个transformation中应用到得环节列表 Hops:一个transformation中应用到得节点连接列表 核心对象菜单列出得就是transformation中可以调用得环节列表,可以通过鼠标拖动得方式

对环节进行添加: Input:输入环节 Output:输出环节 Lookup:查询环节 Transform:转化环节 Joins:连接环节 Scripting:脚本环节 4、2、2 Job 得主对象树与核心对象分别如下图: Main Tree菜单列出得就是一个Job中基本得属性,可以通过各个节点来查瞧。 DB连接:显示当前Job中得数据库连接,每一个Job得数据库连接都需要单独配置。 Job entries/作业项目:一个Job中引用得环节列表 核心对象菜单列出得就是Job中可以调用得环节列表,可以通过鼠标拖动得方式对环节进行添加。 每一个环节可以通过鼠标拖动来将环节添加到主窗口中。 并可通过shift+鼠标拖动,实现环节之间得连接。 4、3使用举例1 4、3、1建立转换 选中列表中得得“表输入”、“表输出”、“插入/更新”,拖拽到右侧工作区。鼠标选中节点键盘按shift键,拖拽即可连线。下图就是一个转换,有两个动作,一就是直接从数据源表同步数据到目标表,一就是检查源表得插入与更新,同步到目标表。

kettle使用说明(简版)

Kettl e使用说明简版 1、文档说明 本文档主要介绍我们实际应用中使用Kettle工具来开发ETL过程的相关说明,内部文档,仅供参考. 2、ETL流程图

3、关键操作介绍 3.1创建资源库 [对象位置]:登陆界面 [实现功能]:配置存储相关转换、任务及相关附属信息的数据库 [操作说明]: 1)进入登陆界面: 2)点击新建按钮,进入配置界面,填写相关信息 3)填写完毕,可测试是否成功,成功后,进入如下界面,点创建或更新

4)创建完毕可用资源库用户登录Kettle,默认用户名,密码:admin/admin [备注]: 我们一般建立一个独立的数据库用户,专门存储Kettle相关信息,资源库就连接在这个数据库用户上 3.2创建转换 [对象位置]:文件〉〉新建〉〉转换 [实现功能]:将库A的表A1中的数据经过一定转换,插入到库B的表B1 [操作说明]: 1)新建一个转换 2)将“核心对象〉〉输入〉〉表输入”拖到转换设置面板 3)双击“表输入”,进入脚本编辑界面:

辑”更改数据库连接,然后编辑好相关提取语句: 4)将“核心对象〉〉输出〉〉表输出”拖到转换设置面板

5)双击“表输出”,进入脚本编辑界面: 本界面需要选择数据转入目标表的数据库连接,以及目标表的表名称,如果数据量比较大的话,可以设置每次提交的数据量 6)将表输入和表输出连接:按住shift,鼠标从“表输入”拖到“表输出”,如图:

7)该转换编辑成功,可以保存并执行测试 [保存]: [执行]: 8)执行成功后便可以编辑其它转换,过程类似 [备注]: 1)编写的SQL语句的字段别名要与数据转入的目标表的字段名称一致; 2)语句最后不能有标点; 3)若SQL中有参数的话,需要将“替换SQL语句中的变量”选中; 4)转换前可以执行一些脚本比如: 将“脚本〉〉执行SQL脚本”拖入,并连接即可,双击可编辑SQL(需要有分号,若更新库则需要提交) 3.3创建任务 [对象位置]:文件〉〉新建〉〉任务 [实现功能]:将多个操作串行合并,形成一个整体任务,其中的操作可以是转换、任务、脚本等等 [使用说明]: 1)新建一个任务 2)拖入几个任务对象,可以是转换、任务、脚本等,并连接,如图:

ELT平台操作手册-KETTLE

智能数据比对系统ELT平台操作手册 【用户手册】 市灵讯通信科技 2011-01-7

目录 第1章系统介绍 (4) 1.1系统简介 (4) 第2章系统管理 (4) 2.1基本概念 (4) 2.2主界面介绍 (4) 2.3基本功能 (7) 第3章转换步骤 (12) 3.1文本文件输入 (12) 3.2表输入 (20) 3.3EXCEL输入 (21) 3.4CSV文件输入 (22) 3.5文本文件输出 (23) 3.6表输出 (24) 3.7EXCEL输出 (26) 3.8插入/更新 (29) 3.9更新 (31) 3.10删除 (33) 3.11调用DB存储过程 (34) 3.12S WITCH分支 (35) 3.13修改J AVA S CRIPT的值 (36) 3.14值映射 (38) 3.15列转行 (39) 3.16去除重复记录 (40) 3.17去除重复记录(哈希集合) (41) 3.18增加常量 (41) 3.19增加序列 (42) 3.20字段选择 (44) 3.21字符串裁剪 (45) 3.22封锁步骤 (46) 3.23执行SQL脚本 (47) 3.24执行SQL脚本行 (49) 3.25拆分字段 (50) 3.26排序记录 (51) 3.27数据库查询 (53) 3.28数据库连接 (54) 3.29替换字符串 (56) 3.30空操作 (57) 3.31行扁平化 (57) 3.32行标准化 (59) 3.33计算器 (60) 3.34过滤记录 (62) 3.35追加流 (63) 3.36从结果中获取文件 (63) 3.37把文件设置到结果中 (64) 3.38获取变量 (65) 3.39获取系统信息 (66) 3.40设置变量 (67) 第4章作业步骤 (68)

Kettle使用手册及测试案例

一、【kettle】window安装与配置 1、下载kettle包,并解压 https://www.360docs.net/doc/1e3337914.html,/projects/data-integration/ 2、安装jdk,并配置java环境 a).打开我的电脑--属性--高级--环境变量 b).新建系统变量JA V A_HOME和CLASSPATH 变量名:JA V A_HOME 变量值:C:\Program Files\Java\jdk1.7.0[具体路径以自己本机安装目录为准] 变量名:CLASSPATH 变量值:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar; c). 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。 变量名:Path 变量值:%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin; 3、配置kettle环境 在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:\kettle\data-integration 4、启动spoon Windows直接双击批处理文件Spoon.bat具体路径为: kettle\data-integration\Spoon.bat Linux 则是执行spoon.sh,具体路径为: ~/kettle/data-integration/spoon.sh

二、使用Kettle同步数据 同步数据常见的应用场景包括以下4个种类型: 只增加、无更新、无删除 只更新、无增加、无删除 增加+更新、无删除 增加+更新+删除 只增加、无更新、无删除 对于这种只增加数据的情况,可细分为以下2种类型: 1) 基表存在更新字段。 通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。 2) 基表不存在更新字段。 通过“插入/更新”步骤进行插入。 插入/更新步骤选项:

相关主题
相关文档
最新文档