Kettle开发使用手册
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点击页面左上角的创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation文件保存后后缀名为ktr点击页面左上角的创建一个新的job,点击保存到本地路径,例如保存到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写入密码例如如下配置:点击【test】,如果出现如下提示则说明配置成功点击关闭,再点击确定保存数据库连接。
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中的“转换”视图。
- 从左侧的工具栏中选择适当的输入组件(如“表输入”或“文件输入”),将其拖拽到设计区域中。
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建立数据库连接,输入相应信息测试,成功即可图45转换具体设置,如图4,‘表输出’至‘文本文件输出’流程跳接线为错误处理步骤,当输出格式不能满足表输出的目的表结构类型时,将会将记录输出到‘文本文件输出’中的记录中。
5.1双击‘表输入’,输入相应的SSQL语句,选择配置数据库连接,或新增,预览查询生成的结果(如果数据库配置中使用变量获取,此处预览生成错误)。
5.2双击‘表输出’,选择数据库连接,‘浏览’选择相应目标表,(此处‘使用批量插入’勾选去除,目的是在错误处理步骤中无法使用批量处理,可能是插件兼容问题)6表输出插件定义a) Target Schema:目标模式。
要写数据的表的Schema的名称。
允许表明中包含“。
”对数据源来说是很重要的b) 目标表:要写数据的表名。
c) 提交记录数量:在数据表中用事物插入行。
如果n比0大,每n行提交一次连接。
否则不使用事务,速度会慢一些。
d) 裁剪表:在第一行数据插入之前裁剪表。
Kettle开发使用手册
Kettle开发使用手册Kettle开发使用手册4月版本历史说明1.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开发环境也是要用到该资源库。
建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述能够任意写,如图2.2所示:。
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是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle可以在/网站下载到。
注:ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。
ETL 一词较常用在数据仓库,但其对象并不限于数据仓库。
下载和安装首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。
下载网址:/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。
由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。
žKettle可以在/网站下载ž 下载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配置使用说明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用户操作手册1
Kettle用户操作手册1.kettle介绍1.1 什么是kettleKettle是“Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;它的名字起源正如该项目的主程序员MATT所说:希望把各种数据放到一个壶里然后以一种指定的格式流出。
Spoon是一个图形用户界面,它允许你运行转换或者任务。
1.2 Kettle 的安装要运行此工具你必须安装 Sun 公司的JAVA 运行环境1.4 或者更高版本,相关资源你可以到网络上搜索JDK 进行下载,Kettle 的下载可以到取得最新版本。
1.3 运行SPOON下面是在不同的平台上运行Spoon 所支持的脚本:Spoon.bat: 在windows 平台运行Spoon。
Spoon.sh: 在Linux、Apple OSX、Solaris 平台运行Spoon。
1.4 资源库一个Kettle资源库可以包含那些转换信息,这意味着为了从数据库资源中加载一个转换就必须连接相应的资源库。
在启动SPOON的时候,可以在资源库中定义一个数据库连接,利用启动spoon时弹出的资源库对话框来定义,如图所示:单击加号便可新增;关于资源库的信息存储在文件“reposityries.xml”中,它位于你的缺省home 目录的隐藏目录“.kettle”中。
如果是windows 系统,这个路径就是c:\Documents and Settings\<username>\.kettle。
如果你不想每次在Spoon 启动的时候都显示这个对话框,你可以在“编辑/选项”菜单下面禁用它。
admin 用户的缺省密码也是admin。
如果你创建了资源库,你可以在“资源库/编辑用户”菜单下面修改缺省密码。
1.5 定义1.5.1 转换主要用来完成数据的转换处理。
转换步骤,可以理解为将一个或者多个不同的数据源组装成一条数据流水线。
KETTLE使用说明
KETTLE使用说明在本使用说明中,我们将详细介绍如何使用KETTLE完成一些常见的数据处理任务。
第一步:安装和启动KETTLE在Windows中,双击运行Spoon.bat文件来启动KETTLE。
在Linux 和Mac OS中,打开终端,进入KETTLE目录,输入"./spoon.sh"命令来启动KETTLE。
第二步:创建一个新的数据流程启动KETTLE后,您将看到一个图形化界面。
在左上角的工具栏中,有一个新建按钮,点击它来创建一个新的数据流程。
在创建数据流程时,您需要为其指定一个名称。
完成后,点击确定按钮。
第三步:添加数据源在左侧的工具箱中,您可以找到各种组件,如输入步骤、输出步骤、转换步骤等。
为了演示,我们先添加一个输入步骤。
在工具箱中,找到输入步骤,并将其拖放到主界面中。
然后,双击该步骤,在弹出的对话框中配置数据源。
在配置对话框中,您需要指定数据源的类型,如文本文件、Excel文件、数据库等。
根据不同的类型,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
在数据流程中,您可以使用转换步骤对数据进行处理。
为了演示,我们使用一个简单的转换步骤来删除重复的数据。
在工具箱中,找到去重复步骤,并将其拖放到已添加的输入步骤的下方。
然后,双击该步骤,在弹出的对话框中配置参数。
在配置对话框中,您需要指定要去重的字段。
您可以选择多个字段以进行复合去重。
完成配置后,点击确定按钮。
第五步:添加输出在数据流程中,您也需要指定一个输出步骤来保存处理后的数据。
在工具箱中,找到输出步骤,并将其拖放到已添加的去重复步骤的下方。
然后,双击该步骤,在弹出的对话框中配置输出格式和目标文件。
在配置对话框中,您需要指定输出的格式,如文本文件、Excel文件、数据库等。
根据不同的格式,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
第六步:保存和运行数据流程完成对数据流程的配置后,点击工具栏中的保存按钮来保存数据流程。
kettle使用手册
Spoon.bat修改在set opt=*最后"-Dfile.encoding=UTF-8",解决乱码问题表输入替换SQL语句中的变量:变量用‘?’ 表示从步骤中插入数据:这个组件之前的流程名称新建/编辑Wizard(向导)填写数据库连接名称(选择数据库连接类型和数据库访问类型)NEXT端口号默认NEXT点击测试数据库连接获取SQL查询语句选择表或者视图,确定也可以自定义SQL语句.预览查询查询所需关键字:字段1为流入字段查询返回的值:字段为数据库表字段,可以起个别名,类型不选可能导致跨库乱码获取查询关键字:流入的所有字段获取返回字段:所选数据库表所有字段Switch/CaseSwitch字段:流入的字段Case值数据类型:视情况而定Case值:此处为空时-转到-查询DEPT_CODE 默认目标步骤(default):自定义流程,如图字段选择移除:移除流入字段元数据:修改元数据字段选择和修改:如果指定了移除和元数据就不能选择列映射增加常量添加一列到元数据流中设置字段值替换流字段的值表输出主选项默认不是临时表的话,千万不要选中剪裁表,这个用于删除表中的数据勾选’指定数据库字段’后才能操作’数据库字段面板’提交记录数量:每次批处理的数量,一批对应一个事务输入字段映射不要随便点’猜一猜’空操作什么也不做删除查询所需的关键字:删除的条件插入/更新不推荐使用比较流中和数据库表的值,不同则更新编辑映射:同表输出字符串替换过滤两个或以上中文并设置为空串去除重复记录注意:去除的记录要排序,否则只去除连续的值行扁平化详解:/Document/detail/tid/73025Access输入选择mdb格式文件,支持正则过滤Kettle增量更新/s/blog_6d35752501015dtm.html 获取系统信息类型预览记录计算器如下是移除元数据流字段,新数据流加负号Kettle变量(1)名称对应参数值:可以写SQL函数,比如sysdate+1,to_date()等相对应的变量名(2)位置对应参数获取系统信息此处添加两个变量作为增量的值设置变量变量活动类型:2)通过属性文件(常用)在C:\Users\${userName}\.kettle\kettle.properties中添加变量(key=value)Java Virtual Machine:S系统级作用域,凡是在一个java虚拟机下运行的线程都受其影响。
Kettle使用手册及测试案例
一、【kettle】window安装与配置1、下载kettle包,并解压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-integration4、启动spoonWindows直接双击批处理文件Spoon.bat具体路径为:kettle\data-integration\Spoon.batLinux 则是执行spoon.sh,具体路径为:~/kettle/data-integration/spoon.sh二、使用Kettle同步数据同步数据常见的应用场景包括以下4个种类型:➢ 只增加、无更新、无删除➢ 只更新、无增加、无删除➢ 增加+更新、无删除➢ 增加+更新+删除只增加、无更新、无删除对于这种只增加数据的情况,可细分为以下2种类型:1) 基表存在更新字段。
通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。
2) 基表不存在更新字段。
通过“插入/更新”步骤进行插入。
插入/更新步骤选项:只更新、无增加、无删除通过“更新”步骤进行更新。
KETTLE使用说明(中文版)
5.4 输出:插入/更新
插入/更新:若流里的数据在目标表中不存在,执行插入,否则执行更新, 数据量不大的情况下,一般采用插入/更新操作。
5.5 输出:更新
这个步骤类似于插入/更新步骤,除了对数据不作插入操作之外。它仅仅 执行更新操作。
5.6 输出:删除
这个步骤类似于更新步骤,除了不更新操作之外,其他的行均被删除。
选择表输入, excel 输出,建立节点 连接。右击连接线,可编辑连线属 性。
5.1常用输入:
表输入 Excel 输入 文本文件输入 XML 文件输入 CUBE 输入(多维数据集) 获取系统信息
5.2输入:表输入
选择表输入,点击鼠标右键,选择编辑步骤。 步骤名称可以更改,一般更改为和输入表相关的名称。 数据库连接 : 选择一个已建好的数据库连接,也可以新建一个。 点击”获取SQL查询语句”,可弹出数据库浏览器,选择自己需要的表或视图。 选择好表或视图后,SQL 区域会显示相应的SQL,如选择在SQL里包含字段名,你 所选择的表的所有字段均会显示. 在SQL区域用户可手动修改SQL语句。
7.3 Flow :Blocking Step(被冻结的步骤)
这是一个非常简单的步骤,它冻结所有的输出,直到从上一个步骤来的最后一行 数据到达,最后 一行数据将发送到下一步。 你可以使用这个步骤触发常用插件、 存储过程和js等等。
8.0 连接 :Merge Join(合并排序)
这个步骤将来自两个不同的步骤输 入的数据执行一个高效的合并。合 并选项包括INNER ,LEFT OUTER , RIGHT OUTER, FULL OUTER. 这个步骤将输入的行按照指定的字 段存储 被合并的两个步骤,必须按照相同 的段进行排序。
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开发使用手册
Kettle开发使用手册2017年4月版本历史说明1.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 开发环境也是要用到该资源库。
建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle 选项,按确定,如图2.1所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图2.2所示:图2.2建完后会kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。
在连接到资源库的情况下打开文件就是资源库所在目录了,如图2.3所示。
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 也会弹出一个窗口让你先连接到资源库。
etl工具kettle用户手册及kettle.x使用步骤带案例超详细版
E T L工具K e t t l e用户手册之Spoon 2.5.0用户手册Spoon 2.5.0用户手册 (1)1、Spoon介绍 (14)1、1 什么是Spoon (14)1、2 安装 (14)1、3 运行Spoon (14)1、4 资源库 (14)1、5 资源库自动登录 (15)1、6 定义 (15)1、6、1 转换 (15)1、6、2 任务 (16)1、7 工具栏 (17)1、8 选项 (17)1、8、1 General标签 (18)1、8、2 Look Feel标签 (19)1、9 搜索元数据 (19)1、10设置环境变量 (20)2、创建一个转换或任务(Creating a Transformation or Job) (21)3、数据库连接(Database Connections) (21)3、1 描述 (21)3、2 设置窗口 (22)3、3 选项 (22)3、4 数据库用法 (22)4、SQL编辑器(SQL Editor) (23)4、1 描述 (23)4、2 屏幕截图 (23)4、3 局限性 (24)5、数据库浏览器(Database Explorer) (24)5、1 屏幕截图 (24)5、2 描述 (24)6、节点连接(Hops) (25)6、1 描述 (25)6、1、1 转换连接 (25)6、2 屏幕截图 (25)6、3 创建一个连接 (26)6、4 拆分一个连接 (26)6、5 转换连接颜色 (26)7、变量(Variables) (27)7、1 变量使用 (27)7、2 变量范围 (27)7、2、1 环境变量 (27)7、2、2 Kettle变量 (27)7、2、3 内部变量 (27)8、转换设置(Transformation Settings) (28)8、1 描述 (28)8、2 屏幕截图 (29)8、3 选项 (32)8、4 其它 (33)9、转换步骤(Transformation steps) (33)9、1 描述 (33)9、2 运行步骤的多个副本 (33)9、3 分发或者复制 (35)9、4 常用错误处理 (35)9、5 Apache虚拟文件系统(VFS)支持 (37)9、6 转换步骤类型 (39)9、6、1 文本文件输入(Text Input) (39)9、6、1、1 屏幕截图 (39)9、6、1、2 图标 (41)9、6、1、3 常用描述 (42)9、6、1、4 选项 (42)9、6、1、5 格式化 (47)9、6、1、6 其它 (48)9、6、2 表输入(Table Input) (49)9、6、2、1 屏幕截图 (49)9、6、2、2 图标 (49)9、6、2、3 常用描述 (49)9、6、2、4 选项 (50)9、6、2、5 示例 (50)9、6、2、6 其它 (51)9、6、3 获取系统信息(Get System Info) (51)9、6、3、1 屏幕截图 (51)9、6、3、2 图标 (52)9、6、3、3 常用描述 (52)9、6、3、4 选项 (53)9、6、3、5 用法 (53)9、6、4 生成行(Generate Rows) (54)9、6、4、2 图标 (54)9、6、4、3 常用描述 (55)9、6、4、4 选项 (55)9、6、5 文件反序列化(De-serialize from file)(原来名称为Cube Input) (55)9、6、5、1 屏幕截图 (55)9、6、5、2 图标 (55)9、6、5、3 常用描述 (55)9、6、6 XBase输入(XBase input) (56)9、6、6、1 屏幕截图 (56)9、6、6、2 图标 (56)9、6、6、3 常用描述 (56)9、6、6、4 选项 (56)9、6、7 Excel输入(Excel Input) (57)9、6、7、1 屏幕截图 (57)9、6、7、2 图标 (59)9、6、7、3 常用描述 (59)9、6、7、4 选项 (59)9、6、8 XML输入(XML input) (60)9、6、8、1 屏幕截图 (60)9、6、8、2 图标 (61)9、6、8、3 常用描述 (61)9、6、8、4 选项 (62)9、6、9 获取文件名(Get File Names) (63)9、6、9、1 屏幕截图 (63)9、6、9、2 图标 (63)9、6、9、3 常用描述 (63)9、6、10 文本文件输出(Text File Output) (64)9、6、10、1 屏幕截图 (64)9、6、10、2 图标 (65)9、6、10、3 常用描述 (65)9、6、11 表输出(Table output) (67)9、6、11、1 屏幕截图 (67)9、6、11、2 图标 (67)9、6、11、3 常用描述 (67)9、6、11、4 选项 (68)9、6、11、5 其它 (68)9、6、12 插入/更新(Insert/Update) (69)9、6、12、1 屏幕截图 (69)9、6、12、2 图标 (69)9、6、12、3 常用描述 (69)9、6、12、4 选项 (70)9、6、12、5 其它 (70)9、6、13 更新(Update) (71)9、6、13、2 图标 (71)9、6、13、3 常用描述 (71)9、6、14 删除(Delete) (72)9、6、14、1 屏幕截图 (72)9、6、14、2 图标 (72)9、6、14、3 常用描述 (72)9、6、15 序列化到文件(Serialize to file)(以前是Cube Output) (73)9、6、15、1 屏幕截图 (73)9、6、15、2 图标 (73)9、6、15、3 常用描述 (73)9、6、16 XML输出(XML output) (74)9、6、16、1 屏幕截图 (74)9、6、16、2 图标 (75)9、6、16、3 常用描述 (75)9、6、16、4 选项 (75)9、6、17 Excel输出(Excel Output) (76)9、6、17、1 屏幕截图 (76)9、6、17、2 图标 (78)9、6、17、3 常用描述 (78)9、6、17、4 选项 (78)9、6、18 Access输出(Microsoft Access Output) (79)9、6、18、1 屏幕截图 (79)9、6、18、2 图标 (79)9、6、18、3 常用描述 (79)9、6、18、4 选项 (79)9、6、19 数据库查询(Database lookup) (80)9、6、19、1 屏幕截图 (80)9、6、19、2 图标 (80)9、6、19、3 常用描述 (80)9、6、19、4 选项 (81)9、6、20 流查询(Stream lookup) (81)9、6、20、1 屏幕截图 (81)9、6、20、2 图标 (81)9、6、20、3 常用描述 (82)9、6、20、4 选项 (82)9、6、20、5 其它 (82)9、6、21 调用数据库存储过程(Call DB Procedure) (83)9、6、21、1 屏幕截图 (83)9、6、21、2 图标 (83)9、6、21、3 常用描述 (83)9、6、21、4 选项 (83)9、6、21、5 其它 (84)9、6、22 HTTP客户端(HTTP Cient) (84)9、6、22、2 图标 (84)9、6、22、3 常用描述 (84)9、6、22、4 选项 (85)9、6、23 字段选择(Select values) (85)9、6、23、1 屏幕截图 (85)9、6、23、2 图标 (87)9、6、23、3 常用描述 (87)9、6、23、4 选项 (87)9、6、24 过滤行(Filter rows) (88)9、6、24、1 屏幕截图 (88)9、6、24、2 图标 (88)9、6、24、3 常用描述 (88)9、6、24、4 选项 (88)9、6、25 行排序(Sort rows) (89)9、6、25、1 屏幕截图 (89)9、6、25、2 图标 (89)9、6、25、3 常用描述 (89)9、6、25、4 选项 (89)9、6、25、5 其它 (90)9、6、26 添加序列(Add sequence) (90)9、6、26、1 屏幕截图 (90)9、6、26、2 图标 (90)9、6、26、3 常用描述 (90)9、6、26、4 选项 (91)9、6、27 空操作-什么都不做(Dummy-do nothing) (91)9、6、27、1 屏幕截图 (91)9、6、27、2 图标 (91)9、6、27、3 常用描述 (91)9、6、27、4 选项 (92)9、6、28 行转列(Row Normaliser) (93)9、6、28、1 屏幕截图 (93)9、6、28、2 图标 (93)9、6、28、3 常用描述 (93)9、6、28、4 选项 (94)9、6、28、5 其它 (94)9、6、29 拆分字段(Split Fields) (95)9、6、29、1 屏幕截图 (95)9、6、29、2 图标 (95)9、6、29、3 常用描述 (95)9、6、29、4 选项 (95)9、6、30 去除重复记录(Unique rows) (96)9、6、30、1 屏幕截图 (96)9、6、30、2 图标 (96)9、6、30、4 选项 (97)9、6、30、5 其它 (97)9、6、31 分组(Group By) (98)9、6、31、1 屏幕截图 (98)9、6、31、2 图标 (98)9、6、31、3 常用描述 (98)9、6、31、4 选项 (99)9、6、32 设置为空值(Null if) (99)9、6、32、1 屏幕截图 (99)9、6、32、2 图标 (99)9、6、32、3 常用描述 (100)9、6、33 计算器(Calculator) (100)9、6、33、1 屏幕截图 (100)9、6、33、2 图标 (100)9、6、33、3 常用描述 (101)9、6、33、4 功能列表 (101)9、6、34增加XML(XML Add) (102)9、6、34、1 屏幕截图 (102)9、6、34、2 图标 (102)9、6、34、3 常用描述 (102)9、6、34、4 选项 (103)9、6、35增加常量(Add constants) (103)9、6、35、1 屏幕截图 (103)9、6、35、2 图标 (103)9、6、35、3 常用描述和使用 (104)9、6、36行转列(Row Denormaliser) (104)9、6、36、1 屏幕截图 (104)9、6、36、2 图标 (104)9、6、36、3 常用描述 (105)9、6、36、4 选项 (105)9、6、37行扁平化(Flattener) (105)9、6、37、1 屏幕截图 (105)9、6、37、2 图标 (105)9、6、37、3 常用描述 (105)9、6、37、4 选项 (106)9、6、37、5 示例 (106)9、6、38值映射(Value Mapper) (107)9、6、38、1 屏幕截图 (107)9、6、38、2 图标 (107)9、6、38、3 常用描述 (107)9、6、39被冻结的步骤(Blocking step) (108)9、6、39、1 屏幕截图 (108)9、6、39、2 图标 (108)9、6、40记录关联(笛卡尔输出)(Join Rows-Cartesian Product) (109)9、6、40、1 屏幕截图 (109)9、6、40、2 图标 (109)9、6、40、3 常用描述 (109)9、6、40、4 选项 (110)9、6、41数据库连接(Database Join) (110)9、6、41、1 屏幕截图 (110)9、6、41、2 图标 (111)9、6、41、3 常用描述 (111)9、6、41、4 选项 (111)9、6、42合并记录(Merge rows) (112)9、6、42、1 屏幕截图 (112)9、6、42、2 图标 (112)9、6、42、3 常用描述 (112)9、6、43 存储合并(Stored Merge) (113)9、6、43、1 屏幕截图 (113)9、6、43、2 图标 (113)9、6、43、3 常用描述 (113)9、6、44 合并连接(Merge Join) (114)9、6、44、1 屏幕截图 (114)9、6、44、2 图标 (114)9、6、44、3 常用描述和使用 (114)9、6、44、4 选项 (114)9、6、45 Java Script值(Java Script Value) (115)9、6、45、1 屏幕截图 (115)9、6、45、2 图标 (115)9、6、45、3 常用描述 (115)9、6、45、4 选项 (115)9、6、45、5 其它 (116)9、6、45、6 值函数 (116)9、6、45、7 JavaScript示例 (120)9、6、45、7、1 回忆先前的行 (120)9、6、45、7、2 设置地址名称到大写 (120)9、6、45、7、3 从日期字段提取信息 (120)9、6、46改进的Java Script值(Modified Java Script Value) (121)9、6、46、1 屏幕截图 (121)9、6、46、2 图标 (121)9、6、46、3 常用描述 (121)9、6、46、4 Java Script函数 (121)9、6、46、5 Java Script (122)9、6、46、6 字段 (122)9、6、46、7 其它 (122)9、6、47执行SQL语句(Execute SQL script) (123)9、6、47、2 图标 (123)9、6、47、3 常用描述 (123)9、6、48 维度更新/查询(Dimension lookup/update) (126)9、6、48、1 屏幕截图 (126)9、6、48、2 图标 (126)9、6、49 联合更新/查询(Combination lookup/update) (127)9、6、49、1 屏幕截图 (127)9、6、49、2 图标 (127)9、6、49、3 常用描述 (127)9、6、50 映射(Mapping) (128)9、6、50、1 屏幕截图 (128)9、6、50、2 图标 (128)9、6、50、3 常用描述和使用 (128)9、6、51 从结果获取记录(Get rows from result) (129)9、6、51、1 屏幕截图 (129)9、6、51、2 图标 (129)9、6、51、3 常用描述 (129)9、6、52 复制记录到结果(Copy rows to result) (129)9、6、52、1 屏幕截图 (129)9、6、52、2 图标 (130)9、6、52、3 常用描述 (130)9、6、53 设置变量(Set Variable) (130)9、6、53、1 屏幕截图 (130)9、6、53、2 图标 (130)9、6、53、3 常用描述 (131)9、6、53、4 变量使用 (131)9、6、54 获取变量(Get Variable) (131)9、6、54、1 屏幕截图 (131)9、6、54、2 图标 (132)9、6、54、3 常用描述 (132)9、6、55 从以前的结果获取文件(Get files from result) (132)9、6、55、1 屏幕截图 (132)9、6、55、2 图标 (132)9、6、55、3 常用描述 (132)9、6、56 复制文件名到结果(Set files in result) (133)9、6、56、1 屏幕截图 (133)9、6、56、2 图标 (133)9、6、56、3 常用描述 (133)9、6、57 记录注射器(Injector) (134)9、6、57、1 屏幕截图 (134)9、6、57、2 图标 (134)9、6、57、3 常用描述 (134)9、6、58 套接字读入器(Socket Reader) (135)9、6、58、2 图标 (135)9、6、58、3 常用描述和使用 (135)9、6、59 套接字输写器(Socket Writer) (135)9、6、59、1 屏幕截图 (135)9、6、59、2 图标 (136)9、6、59、3 常用描述和使用 (136)9、6、60聚合行(Aggregate Rows) (136)9、6、60、1 屏幕截图 (136)9、6、60、2 图标 (136)9、6、60、3 常用描述 (136)9、6、60、4 选项 (137)9、6、61流XML输入(Streaming XML Input) (137)9、6、61、1 屏幕截图 (137)9、6、61、2 图标 (138)9、6、61、3 常用描述 (139)9、6、61、4 选项 (139)9、6、61、5 完整的示例 (140)9、6、62中止(Abort) (142)9、6、62、1 屏幕截图 (142)9、6、62、2 图标 (142)9、6、62、3 常用描述 (143)9、6、62、4 选项 (143)9、6、63Oracle批量装载(Oracle bulk loader) (144)9、6、63、1 屏幕截图 (144)9、6、63、2 图标 (144)9、6、63、3 常用描述 (145)9、6、63、4 选项 (145)10、任务设置(Job Settings) (145)10、1 描述 (145)10、2 屏幕截图 (146)10、3 选项 (146)10、4 其它 (146)11、任务条目(Job Entries) (147)11、1 描述 (147)11、2 任务条目类型 (147)11、2、1特殊的任务条目 (147)11、2、1、1 屏幕截图 (147)11、2、1、2 图标 (147)11、2、1、3 常用描述 (148)11、2、1、3、1 启动 (148)11、2、1、3、2 Dummy (148)11、2、1、3、3 OK (148)11、2、1、3、4 ERROR (148)11、2、2、1 屏幕截图 (149)11、2、2、2 图标 (149)11、2、2、3 常用描述 (149)11、2、2、4 选项 (149)11、2、3 任务 (151)11、2、3、1 屏幕截图 (151)11、2、3、2 图标 (151)11、2、3、3 常用描述 (151)11、2、3、4 选项 (151)11、2、4 Shell (152)11、2、4、1 屏幕截图 (152)11、2、4、2 图标 (153)11、2、4、3 常用描述 (153)11、2、4、4 选项 (153)11、2、5 Mail (154)11、2、5、1 屏幕截图 (154)11、2、5、2 图标 (154)11、2、5、3 常用描述 (155)11、2、5、4 选项 (155)11、2、6 SQL (156)11、2、6、1 屏幕截图 (156)11、2、6、2 图标 (156)11、2、6、3 常用描述 (156)11、2、6、4 选项 (156)11、2、7 FTP (157)11、2、7、1 屏幕截图 (157)11、2、7、2 图标 (157)11、2、7、3 常用描述 (157)11、2、7、4 选项 (157)11、2、8 Table Exists (158)11、2、8、1 屏幕截图 (158)11、2、8、2 图标 (159)11、2、8、3 常用描述 (159)11、2、8、4 选项 (159)11、2、9 File Exists (159)11、2、9、1 屏幕截图 (159)11、2、9、2 图标 (159)11、2、9、3 常用描述 (159)11、2、9、4 选项 (160)11、2、10 Evaluation(javascript) (160)11、2、10、1 屏幕截图 (160)11、2、10、2 图标 (160)11、2、10、3 常用描述 (160)11、2、11 SFTP (161)11、2、11、1 屏幕截图 (161)11、2、11、2 图标 (161)11、2、11、3 常用描述 (162)11、2、11、4 选项 (162)11、2、12 HTTP (163)11、2、12、1 屏幕截图 (163)11、2、12、2 图标 (163)11、2、12、3 常用描述 (163)11、2、12、4 选项 (163)11、2、13 Create a file (164)11、2、13、1 屏幕截图 (164)11、2、13、2 图标 (165)11、2、13、3 常用描述 (165)11、2、13、4 选项 (165)11、2、13、5 其它 (165)11、2、14 Delete a file (165)11、2、14、1 屏幕截图 (165)11、2、14、2 图标 (165)11、2、14、3 常用描述 (166)11、2、14、4 选项 (166)11、2、14、5 其它 (166)11、2、15 Wait a file (166)11、2、15、1 屏幕截图 (166)11、2、15、2 图标 (166)11、2、15、3 常用描述 (167)11、2、15、4 选项 (167)11、2、15、5 其它 (167)11、2、16 File compare (167)11、2、16、1 屏幕截图 (167)11、2、16、2 图标 (168)11、2、16、3 常用描述 (168)11、2、16、4 选项 (168)11、2、16、5 其它 (168)11、2、17 Put files with secureFTP (169)11、2、17、1 屏幕截图 (169)11、2、17、2 图标 (169)11、2、17、3 常用描述 (169)11、2、17、4 选项 (169)11、2、18 Ping a host (170)11、2、18、1 屏幕截图 (170)11、2、18、2 图标 (170)11、2、18、3 常用描述 (170)11、2、19 Wait for (171)11、2、19、1 屏幕截图 (171)11、2、19、2 图标 (171)11、2、19、3 常用描述 (171)11、2、19、4 选项 (171)11、2、20 Display Msgbox info (172)11、2、20、1 屏幕截图 (172)11、2、20、2 图标 (172)11、2、20、3 常用描述 (172)11、2、20、4 选项 (172)11、2、21 Abort job (173)11、2、21、1 屏幕截图 (173)11、2、21、2 图标 (173)11、2、21、3 常用描述 (173)11、2、21、4 选项 (173)11、2、22 XSL transformation (174)11、2、22、1 屏幕截图 (174)11、2、22、2 图标 (174)11、2、22、3 常用描述 (174)11、2、22、4 选项 (174)11、2、23 Zip files (175)11、2、23、1 屏幕截图 (175)11、2、23、2 图标 (175)11、2、23、3 常用描述 (175)11、2、23、4 选项 (175)12、图形界面(Graphical View) (176)12、1 描述 (176)12、2 添加步骤或者任务条目 (176)12、2、1 拖放创建步骤 (176)12、2、2 从步骤类型树创建步骤 (177)12、2、3 在你想要的位置创建步骤 (177)12、3 隐藏步骤 (177)12、4 转换步骤选项(右键上下文菜单) (177)12、4、1 编辑步骤 (177)12、4、2 编辑步骤描述 (177)12、4、3 数据迁移 (177)12、4、4 复制 (177)12、4、5 复制步骤 (178)12、4、6 删除步骤 (178)12、4、7 显示输入字段 (178)12、4、8 显示输出字段 (178)12、5 任务条目选项(右键上下文菜单) (178)12、5、1 打开转换/任务 (178)12、5、3 编辑任务入口描述 (178)12、5、4 复制任务入口 (178)12、5、5 复制选择的任务入口到剪贴板 (178)12、5、6 排列/分布 (179)12、5、7 拆开节点 (179)12、5、8 删除所有任务入口的副本 (179)12、6 添加节点连接 (179)12、7 运行转换 (179)12、8 屏幕截图 (179)12、9 执行选项 (180)12、9、1 在哪里执行 (180)12、9、2 预览 (180)12、9、3 使用安全模式 (180)12、9、4 日志级别 (180)12、9、5 重放日期 (180)12、9、6 参数 (180)12、9、7 变量 (180)12、10 设置远程或者从属服务器 (181)12、10、1 概述 (181)12、10、2 屏幕截图 (181)13、日志(Logging) (181)13、1 日志描述 (181)13、2 屏幕截图 (182)13、3 日志网格 (182)13、3、1 转换日志网格 (182)13、3、2 任务日志网格 (183)13、4 按钮 (183)13、4、1 转换按钮 (183)13、4、1、1 开始转换 (183)13、4、1、2 预览 (183)13、4、1、3 显示错误行 (183)13、4、1、4 清除日志 (184)13、4、1、5 日志设置 (184)13、4、1、6 仅仅显示活动的步骤 (184)13、4、2 任务按钮 (184)13、4、2、1 启动任务 (184)13、4、2、2 停止任务 (185)13、4、2、3 刷新日志 (185)13、4、2、4 清除日志 (185)13、4、2、5 日志设置 (185)13、4、2、6 自动刷新 (186)14、网格(Grids) (186)14、1 描述 (186)14、2 功能 (186)14、3 导航 (186)15、资源库浏览器(Repository Explorer) (187)15、1 描述 (187)15、2 屏幕截图 (187)15、3 右键单击功能 (187)15、4 备份/资源库 (188)16、共享对象(Share objects) (188)1、Spoon介绍1、1 什么是SpoonKettle是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写。
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)拖入几个任务对象,可以是转换、任务、脚本等,并连接,如图:3)双击相关对象进行编辑,需要选择已经建立好的转换(任务名称)名称4)所有中间步骤的对象都已设定好以后,保存任务,执行测试任务[备注]:任务中各对象执行,以前一对象成功执行为前提,若任务里,包含多个子任务,如果各任务之间相互独立,可以在子任务中拖入“success”对象,否则当母任务中某一对象执行失败,则任务停止。
2024版kettle使用教程(超详细)
分布式计算原理
阐述Kettle分布式计算的原理, 如何利用集群资源进行并行处理 和任务调度。
01 02 03 04
集群配置与部署
详细讲解Kettle集群的配置步骤, 包括环境准备、节点配置、网络 设置等。
集群监控与管理
介绍Kettle提供的集群监控和管 理工具,方便用户实时了解集群 状态和作业执行情况。
03
实战演练
以一个具体的实时数据处理任务为例, 介绍如何使用Kettle设计实时数据处理 流程。
案例四:Kettle在数据挖掘中应用
数据挖掘概念介绍
01
数据挖掘是指从大量数据中提取出有用的信息和知识的
过程,包括分类、聚类、关联规则挖掘等任务。
Kettle在数据挖掘中的应用
02
Kettle提供了丰富的数据处理和转换功能,可以方便地
Chapter
案例一:ETL过程自动化实现
ETL概念介绍
ETL即Extract, Transform, Load,是数据仓 库技术中重要环节,包括数据抽取、清洗、转 换和加载等步骤。
Kettle实现ETL过程
通过Kettle的图形化界面,可以方便地设计ETL流程, 实现数据的自动化抽取、转换和加载。
作业项配置
对作业项进行详细配置,包括数据源、目标库、 字段映射等。
作业项管理
支持作业项的复制、粘贴、删除等操作,方便快速构建作业。
定时任务设置与执行
定时任务设置
支持基于Cron表达式的定时任务设置,实现 周期性自动执行。
立即执行
支持手动触发作业执行,满足即时数据处理 需求。
执行日志查看
Kettle使用手册及测试案例
一、【kettle】window安装与配置1、下载kettle包,并解压/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-integration4、启动spoonWindows直接双击批处理文件Spoon.bat具体路径为:kettle\data-integration\Spoon.batLinux 则是执行spoon.sh,具体路径为:~/kettle/data-integration/spoon.sh二、使用Kettle同步数据同步数据常见的应用场景包括以下4个种类型:➢ 只增加、无更新、无删除➢ 只更新、无增加、无删除➢ 增加+更新、无删除➢ 增加+更新+删除只增加、无更新、无删除对于这种只增加数据的情况,可细分为以下2种类型:1) 基表存在更新字段。
通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。
2) 基表不存在更新字段。
通过“插入/更新”步骤进行插入。
ETL工具Kettle用户手册簿及Kettle5.x使用步骤带案例超详细版
ETL工具Kettle用户手册之Spoon 2.5.0用户手册Spoon 2.5.0用户手册 (1)1、Spoon介绍 (27)1、1 什么是Spoon (27)1、2 安装 (28)1、3 运行Spoon (28)1、4 资源库 (28)1、5 资源库自动登录 (29)1、6 定义 (30)1、6、1 转换 (30)1、6、2 任务 (30)1、7 工具栏 (31)1、8 选项 (32)1、8、1 General标签 (33)1、8、2 Look Feel标签 (35)1、9 搜索元数据 (36)1、10设置环境变量 (36)2、创建一个转换或任务(Creating a Transformation or Job) (37)3、数据库连接(Database Connections) (38)3、1 描述 (38)3、2 设置窗口 (38)3、3 选项 (39)3、4 数据库用法 (39)4、SQL编辑器(SQL Editor) (40)4、1 描述 (40)4、2 屏幕截图 (41)4、3 局限性 (41)5、数据库浏览器(Database Explorer) (41)5、1 屏幕截图 (41)5、2 描述 (42)6、节点连接(Hops) (43)6、1 描述 (43)6、1、1 转换连接 (43)6、1、2 任务连接 (43)6、2 屏幕截图 (44)6、3 创建一个连接 (44)6、4 拆分一个连接 (44)6、5 转换连接颜色 (45)7、变量(Variables) (45)7、1 变量使用 (45)7、2 变量范围 (46)7、2、1 环境变量 (46)7、2、2 Kettle变量 (46)7、2、3 内部变量 (47)8、转换设置(Transformation Settings) (48)8、1 描述 (48)8、2 屏幕截图 (48)8、3 选项 (51)8、4 其它 (53)9、转换步骤(Transformation steps) (53)9、1 描述 (53)9、2 运行步骤的多个副本 (53)9、3 分发或者复制 (55)9、4 常用错误处理 (56)9、5 Apache虚拟文件系统(VFS)支持 (58)9、6 转换步骤类型 (60)9、6、1 文本文件输入(Text Input) (60)9、6、1、2 图标 (62)9、6、1、3 常用描述 (63)9、6、1、4 选项 (63)9、6、1、5 格式化 (71)9、6、1、6 其它 (73)9、6、2 表输入(Table Input) (74)9、6、2、1 屏幕截图 (74)9、6、2、2 图标 (74)9、6、2、3 常用描述 (75)9、6、2、4 选项 (75)9、6、2、5 示例 (75)9、6、2、6 其它 (76)9、6、3 获取系统信息(Get System Info) (77)9、6、3、1 屏幕截图 (77)9、6、3、2 图标 (78)9、6、3、3 常用描述 (78)9、6、3、4 选项 (80)9、6、3、5 用法 (80)9、6、4 生成行(Generate Rows) (81)9、6、4、1 屏幕截图 (81)9、6、4、2 图标 (81)9、6、4、4 选项 (81)9、6、5 文件反序列化(De-serialize from file)(原来名称为Cube Input)829、6、5、1 屏幕截图 (82)9、6、5、2 图标 (82)9、6、5、3 常用描述 (82)9、6、6 XBase输入(XBase input) (83)9、6、6、1 屏幕截图 (83)9、6、6、2 图标 (83)9、6、6、3 常用描述 (83)9、6、6、4 选项 (83)9、6、7 Excel输入(Excel Input) (84)9、6、7、1 屏幕截图 (84)9、6、7、2 图标 (86)9、6、7、3 常用描述 (86)9、6、7、4 选项 (86)9、6、8 XML输入(XML input) (88)9、6、8、1 屏幕截图 (88)9、6、8、2 图标 (89)9、6、8、3 常用描述 (89)9、6、8、4 选项 (89)9、6、9 获取文件名(Get File Names) (92)9、6、9、1 屏幕截图 (92)9、6、9、2 图标 (92)9、6、9、3 常用描述 (92)9、6、10 文本文件输出(Text File Output) (93)9、6、10、1 屏幕截图 (93)9、6、10、2 图标 (94)9、6、10、3 常用描述 (94)9、6、11 表输出(T able output) (97)9、6、11、1 屏幕截图 (97)9、6、11、2 图标 (97)9、6、11、3 常用描述 (97)9、6、11、4 选项 (98)9、6、11、5 其它 (99)9、6、12 插入/更新(Insert/Update) (100)9、6、12、1 屏幕截图 (100)9、6、12、2 图标 (100)9、6、12、3 常用描述 (100)9、6、12、4 选项 (101)9、6、12、5 其它 (101)9、6、13 更新(Update) (102)9、6、13、1 屏幕截图 (102)9、6、13、3 常用描述 (102)9、6、14 删除(Delete) (103)9、6、14、1 屏幕截图 (103)9、6、14、2 图标 (103)9、6、14、3 常用描述 (103)9、6、15 序列化到文件(Serialize to file)(以前是Cube Output) (104)9、6、15、1 屏幕截图 (104)9、6、15、2 图标 (104)9、6、15、3 常用描述 (104)9、6、16 XML输出(XML output) (105)9、6、16、1 屏幕截图 (105)9、6、16、2 图标 (106)9、6、16、3 常用描述 (106)9、6、16、4 选项 (106)9、6、17 Excel输出(Excel Output) (108)9、6、17、1 屏幕截图 (108)9、6、17、2 图标 (109)9、6、17、3 常用描述 (109)9、6、17、4 选项 (109)9、6、18 Access输出(Microsoft Access Output) (111)9、6、18、1 屏幕截图 (111)9、6、18、3 常用描述 (111)9、6、18、4 选项 (111)9、6、19 数据库查询(Database lookup) (112)9、6、19、1 屏幕截图 (112)9、6、19、2 图标 (112)9、6、19、3 常用描述 (113)9、6、19、4 选项 (113)9、6、20 流查询(Stream lookup) (113)9、6、20、1 屏幕截图 (113)9、6、20、2 图标 (114)9、6、20、3 常用描述 (114)9、6、20、4 选项 (114)9、6、20、5 其它 (115)9、6、21 调用数据库存储过程(Call DB Procedure) (115)9、6、21、1 屏幕截图 (115)9、6、21、2 图标 (116)9、6、21、3 常用描述 (116)9、6、21、4 选项 (116)9、6、21、5 其它 (116)9、6、22 HTTP客户端(HTTP Cient) (117)9、6、22、1 屏幕截图 (117)9、6、22、3 常用描述 (117)9、6、22、4 选项 (117)9、6、23 字段选择(Select values) (118)9、6、23、1 屏幕截图 (118)9、6、23、2 图标 (120)9、6、23、3 常用描述 (120)9、6、23、4 选项 (120)9、6、24 过滤行(Filter rows) (121)9、6、24、1 屏幕截图 (121)9、6、24、2 图标 (121)9、6、24、3 常用描述 (121)9、6、24、4 选项 (121)9、6、25 行排序(Sort rows) (122)9、6、25、1 屏幕截图 (122)9、6、25、2 图标 (122)9、6、25、3 常用描述 (122)9、6、25、4 选项 (123)9、6、25、5 其它 (123)9、6、26 添加序列(Add sequence) (123)9、6、26、1 屏幕截图 (123)9、6、26、2 图标 (124)9、6、26、4 选项 (124)9、6、27 空操作-什么都不做(Dummy-do nothing) (125)9、6、27、1 屏幕截图 (125)9、6、27、2 图标 (125)9、6、27、3 常用描述 (125)9、6、27、4 选项 (126)9、6、28 行转列(Row Normaliser) (127)9、6、28、1 屏幕截图 (127)9、6、28、2 图标 (127)9、6、28、3 常用描述 (127)9、6、28、4 选项 (128)9、6、28、5 其它 (129)9、6、29 拆分字段(Split Fields) (129)9、6、29、1 屏幕截图 (129)9、6、29、2 图标 (129)9、6、29、3 常用描述 (129)9、6、29、4 选项 (130)9、6、30 去除重复记录(Unique rows) (131)9、6、30、1 屏幕截图 (131)9、6、30、2 图标 (131)9、6、30、3 常用描述 (131)9、6、30、5 其它 (132)9、6、31 分组(Group By) (132)9、6、31、1 屏幕截图 (132)9、6、31、2 图标 (132)9、6、31、3 常用描述 (133)9、6、31、4 选项 (133)9、6、32 设置为空值(Null if) (134)9、6、32、1 屏幕截图 (134)9、6、32、2 图标 (134)9、6、32、3 常用描述 (134)9、6、33 计算器(Calculator) (135)9、6、33、1 屏幕截图 (135)9、6、33、2 图标 (135)9、6、33、3 常用描述 (135)9、6、33、4 功能列表 (136)9、6、34 增加XML(XML Add) (137)9、6、34、1 屏幕截图 (137)9、6、34、2 图标 (138)9、6、34、3 常用描述 (138)9、6、34、4 选项 (138)9、6、35 增加常量(Add constants) (139)9、6、35、2 图标 (139)9、6、35、3 常用描述和使用 (139)9、6、36 行转列(Row Denormaliser) (140)9、6、36、1 屏幕截图 (140)9、6、36、2 图标 (140)9、6、36、3 常用描述 (140)9、6、36、4 选项 (140)9、6、37 行扁平化(Flattener) (141)9、6、37、1 屏幕截图 (141)9、6、37、2 图标 (141)9、6、37、3 常用描述 (141)9、6、37、4 选项 (141)9、6、37、5 示例 (142)9、6、38 值映射(Value Mapper) (143)9、6、38、1 屏幕截图 (143)9、6、38、2 图标 (143)9、6、38、3 常用描述 (143)9、6、39 被冻结的步骤(Blocking step) (144)9、6、39、1 屏幕截图 (144)9、6、39、2 图标 (144)9、6、39、3 常用描述 (144)9、6、40 记录关联(笛卡尔输出)(Join Rows-Cartesian Product) (145)9、6、40、1 屏幕截图 (145)9、6、40、2 图标 (145)9、6、40、3 常用描述 (145)9、6、40、4 选项 (146)9、6、41 数据库连接(Database Join) (147)9、6、41、1 屏幕截图 (147)9、6、41、2 图标 (147)9、6、41、3 常用描述 (147)9、6、41、4 选项 (148)9、6、42 合并记录(Merge rows) (149)9、6、42、1 屏幕截图 (149)9、6、42、2 图标 (149)9、6、42、3 常用描述 (149)9、6、43 存储合并(Stored Merge) (150)9、6、43、1 屏幕截图 (150)9、6、43、2 图标 (150)9、6、43、3 常用描述 (150)9、6、44 合并连接(Merge Join) (151)9、6、44、1 屏幕截图 (151)9、6、44、2 图标 (151)9、6、44、3 常用描述和使用 (151)9、6、45 Java Script值(Java Script Value) (152)9、6、45、1 屏幕截图 (152)9、6、45、2 图标 (153)9、6、45、3 常用描述 (153)9、6、45、4 选项 (153)9、6、45、5 其它 (153)9、6、45、6 值函数 (153)9、6、45、7 JavaScript示例 (161)9、6、45、7、1 回忆先前的行 (161)9、6、45、7、2 设置地址名称到大写 (162)9、6、45、7、3 从日期字段提取信息 (162)9、6、46 改进的Java Script值(Modified Java Script Value) (163)9、6、46、1 屏幕截图 (163)9、6、46、2 图标 (163)9、6、46、3 常用描述 (163)9、6、46、4 Java Script函数 (163)9、6、46、5 Java Script (164)9、6、46、6 字段 (164)9、6、46、7 其它 (164)9、6、47 执行SQL语句(Execute SQL script) (165)9、6、47、1 屏幕截图 (165)9、6、47、3 常用描述 (165)9、6、48 维度更新/查询(Dimension lookup/update) (168)9、6、48、1 屏幕截图 (168)9、6、48、2 图标 (168)9、6、49 联合更新/查询(Combination lookup/update) (169)9、6、49、1 屏幕截图 (169)9、6、49、2 图标 (169)9、6、49、3 常用描述 (169)9、6、50 映射(Mapping) (170)9、6、50、1 屏幕截图 (170)9、6、50、2 图标 (170)9、6、50、3 常用描述和使用 (170)9、6、51 从结果获取记录(Get rows from result) (171)9、6、51、1 屏幕截图 (171)9、6、51、2 图标 (171)9、6、51、3 常用描述 (171)9、6、52 复制记录到结果(Copy rows to result) (171)9、6、52、1 屏幕截图 (171)9、6、52、2 图标 (172)9、6、52、3 常用描述 (172)9、6、53 设置变量(Set Variable) (172)9、6、53、2 图标 (172)9、6、53、3 常用描述 (173)9、6、53、4 变量使用 (173)9、6、54 获取变量(Get Variable) (174)9、6、54、1 屏幕截图 (174)9、6、54、2 图标 (174)9、6、54、3 常用描述 (174)9、6、55 从以前的结果获取文件(Get files from result) (175)9、6、55、1 屏幕截图 (175)9、6、55、2 图标 (175)9、6、55、3 常用描述 (175)9、6、56 复制文件名到结果(Set files in result) (176)9、6、56、1 屏幕截图 (176)9、6、56、2 图标 (176)9、6、56、3 常用描述 (176)9、6、57 记录注射器(Injector) (177)9、6、57、1 屏幕截图 (177)9、6、57、2 图标 (177)9、6、57、3 常用描述 (177)9、6、58 套接字读入器(Socket Reader) (178)9、6、58、1 屏幕截图 (178)9、6、58、3 常用描述和使用 (178)9、6、59 套接字输写器(Socket Writer) (179)9、6、59、1 屏幕截图 (179)9、6、59、2 图标 (179)9、6、59、3 常用描述和使用 (179)9、6、60 聚合行(Aggregate Rows) (180)9、6、60、1 屏幕截图 (180)9、6、60、2 图标 (180)9、6、60、3 常用描述 (180)9、6、60、4 选项 (181)9、6、61 流XML输入(Streaming XML Input) (181)9、6、61、1 屏幕截图 (181)9、6、61、2 图标 (182)9、6、61、3 常用描述 (183)9、6、61、4 选项 (183)9、6、61、5 完整的示例 (185)9、6、62 中止(Abort) (187)9、6、62、1 屏幕截图 (187)9、6、62、2 图标 (188)9、6、62、3 常用描述 (188)9、6、62、4 选项 (188)9、6、63 Oracle批量装载(Oracle bulk loader) (189)9、6、63、1 屏幕截图 (189)9、6、63、2 图标 (189)9、6、63、3 常用描述 (190)9、6、63、4 选项 (190)10、任务设置(Job Settings) (191)10、1 描述 (191)10、2 屏幕截图 (192)10、3 选项 (192)10、4 其它 (193)11、任务条目(Job Entries) (193)11、1 描述 (193)11、2 任务条目类型 (194)11、2、1特殊的任务条目 (194)11、2、1、1 屏幕截图 (194)11、2、1、2 图标 (194)11、2、1、3 常用描述 (194)11、2、1、3、1 启动 (194)11、2、1、3、2 Dummy (195)11、2、1、3、3 OK (195)11、2、1、3、4 ERROR (195)11、2、2 转换 (196)11、2、2、2 图标 (196)11、2、2、3 常用描述 (196)11、2、2、4 选项 (197)11、2、3 任务 (198)11、2、3、1 屏幕截图 (198)11、2、3、2 图标 (198)11、2、3、3 常用描述 (198)11、2、3、4 选项 (199)11、2、4 Shell (200)11、2、4、1 屏幕截图 (200)11、2、4、2 图标 (200)11、2、4、3 常用描述 (200)11、2、4、4 选项 (201)11、2、5 Mail (202)11、2、5、1 屏幕截图 (202)11、2、5、2 图标 (202)11、2、5、3 常用描述 (203)11、2、5、4 选项 (203)11、2、6 SQL (204)11、2、6、1 屏幕截图 (204)11、2、6、2 图标 (204)11、2、6、4 选项 (204)11、2、7 FTP (205)11、2、7、1 屏幕截图 (205)11、2、7、2 图标 (205)11、2、7、3 常用描述 (205)11、2、7、4 选项 (206)11、2、8 Table Exists (207)11、2、8、1 屏幕截图 (207)11、2、8、2 图标 (207)11、2、8、3 常用描述 (208)11、2、8、4 选项 (208)11、2、9 File Exists (208)11、2、9、1 屏幕截图 (208)11、2、9、2 图标 (208)11、2、9、3 常用描述 (208)11、2、9、4 选项 (209)11、2、10 Evaluation(javascript) (209)11、2、10、1 屏幕截图 (209)11、2、10、2 图标 (209)11、2、10、3 常用描述 (210)11、2、10、4 选项 (210)11、2、11、1 屏幕截图 (211)11、2、11、2 图标 (211)11、2、11、3 常用描述 (211)11、2、11、4 选项 (211)11、2、12 HTTP (213)11、2、12、1 屏幕截图 (213)11、2、12、2 图标 (213)11、2、12、3 常用描述 (213)11、2、12、4 选项 (214)11、2、13 Create a file (215)11、2、13、1 屏幕截图 (215)11、2、13、2 图标 (215)11、2、13、3 常用描述 (215)11、2、13、4 选项 (216)11、2、13、5 其它 (216)11、2、14 Delete a file (216)11、2、14、1 屏幕截图 (216)11、2、14、2 图标 (216)11、2、14、3 常用描述 (217)11、2、14、4 选项 (217)11、2、14、5 其它 (217)11、2、15、1 屏幕截图 (217)11、2、15、2 图标 (218)11、2、15、3 常用描述 (218)11、2、15、4 选项 (218)11、2、15、5 其它 (219)11、2、16 File compare (219)11、2、16、1 屏幕截图 (219)11、2、16、2 图标 (219)11、2、16、3 常用描述 (219)11、2、16、4 选项 (219)11、2、16、5 其它 (220)11、2、17 Put files with secureFTP (220)11、2、17、1 屏幕截图 (220)11、2、17、2 图标 (220)11、2、17、3 常用描述 (221)11、2、17、4 选项 (221)11、2、18 Ping a host (222)11、2、18、1 屏幕截图 (222)11、2、18、2 图标 (222)11、2、18、3 常用描述 (222)11、2、18、4 选项 (222)11、2、19、1 屏幕截图 (223)11、2、19、2 图标 (223)11、2、19、3 常用描述 (223)11、2、19、4 选项 (223)11、2、20 Display Msgbox info (224)11、2、20、1 屏幕截图 (224)11、2、20、2 图标 (224)11、2、20、3 常用描述 (224)11、2、20、4 选项 (224)11、2、21 Abort job (225)11、2、21、1 屏幕截图 (225)11、2、21、2 图标 (225)11、2、21、3 常用描述 (225)11、2、21、4 选项 (225)11、2、22 XSL transformation (226)11、2、22、1 屏幕截图 (226)11、2、22、2 图标 (226)11、2、22、3 常用描述 (226)11、2、22、4 选项 (226)11、2、23 Zip files (227)11、2、23、1 屏幕截图 (227)11、2、23、3 常用描述 (227)11、2、23、4 选项 (228)12、图形界面(Graphical View) (228)12、1 描述 (228)12、2 添加步骤或者任务条目 (229)12、2、1 拖放创建步骤 (229)12、2、2 从步骤类型树创建步骤 (229)12、2、3 在你想要的位置创建步骤 (230)12、3 隐藏步骤 (230)12、4 转换步骤选项(右键上下文菜单) (230)12、4、1 编辑步骤 (230)12、4、2 编辑步骤描述 (230)12、4、3 数据迁移 (230)12、4、4 复制 (230)12、4、5 复制步骤 (231)12、4、6 删除步骤 (231)12、4、7 显示输入字段 (231)12、4、8 显示输出字段 (231)12、5 任务条目选项(右键上下文菜单) (231)12、5、1 打开转换/任务 (231)12、5、2 编辑任务入口 (231)12、5、3 编辑任务入口描述 (231)12、5、4 复制任务入口 (232)12、5、5 复制选择的任务入口到剪贴板 (232)12、5、6 排列/分布 (232)12、5、7 拆开节点 (232)12、5、8 删除所有任务入口的副本 (232)12、6 添加节点连接 (232)12、7 运行转换 (232)12、8 屏幕截图 (233)12、9 执行选项 (233)12、9、1 在哪里执行 (233)12、9、2 预览 (233)12、9、3 使用安全模式 (234)12、9、4 日志级别 (234)12、9、5 重放日期 (234)12、9、6 参数 (234)12、9、7 变量 (234)12、10 设置远程或者从属服务器 (234)12、10、1 概述 (234)12、10、2 屏幕截图 (235)13、日志(Logging) (235)13、1 日志描述 (235)13、3 日志网格 (236)13、3、1 转换日志网格 (236)13、3、2 任务日志网格 (237)13、4 按钮 (237)13、4、1 转换按钮 (237)13、4、1、1 开始转换 (237)13、4、1、2 预览 (238)13、4、1、3 显示错误行 (238)13、4、1、4 清除日志 (238)13、4、1、5 日志设置 (238)13、4、1、6 仅仅显示活动的步骤 (239)13、4、2 任务按钮 (240)13、4、2、1 启动任务 (240)13、4、2、2 停止任务 (240)13、4、2、3 刷新日志 (240)13、4、2、4 清除日志 (240)13、4、2、5 日志设置 (240)13、4、2、6 自动刷新 (241)14、网格(Grids) (241)14、1 描述 (241)14、2 功能 (242)15、资源库浏览器(Repository Explorer) (243)15、1 描述 (243)15、2 屏幕截图 (244)15、3 右键单击功能 (244)15、4 备份/资源库 (244)16、共享对象(Share objects) (245)1、Spoon介绍1、1 什么是SpoonKettle是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Kettle开发使用手册2017年4月版本历史说明1.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开发环境也是要用到该资源库。
建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图2.2所示:图2.2建完后会kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。
在连接到资源库的情况下打开文件就是资源库所在目录了,如图2.3所示。
注意你在资源库建的目录结构要跟数据交换平台的目录结构一致,这样写好kettle脚本,保存后放的路径能跟交换平台的目录结构一致了。
图2.32.2.在目标数据库里新建表在做数据迁移的时候我们需要先在目标数据库建立与源数据库类似的表结构,才能在这两张表之间做数据迁移,以oracle数据库到gp数据库,T_SF_DWJFDJXX_TEST表做数据迁移为例,我们先建类似的表结构,首先先把表结构的代码拷出来:create table T_SF_DWJFDJXX_TEST(NSRNBM NUMBER(10) not null,DWSBH VARCHAR2(18) not null,JFDWNBM NUMBER(10) not null,HYFL_DM CHAR(1) not null,JFDWLX_DM CHAR(3) not null,SBJC_DM CHAR(2) not null,SBGLJG_DM VARCHAR2(11) not null,SWGLJG_DM VARCHAR2(11) not null,SBDJ_ZT CHAR(2) not null,DJSLRY_DM VARCHAR2(11),DJSL_RQ DATE,LRRY_DM VARCHAR2(11),XGRY_DM VARCHAR2(11),DJ_RQ DATE,DJJG_DM VARCHAR2(11),LR_SJ TIMESTAMP(6),XG_SJ TIMESTAMP(6),ZDFY_BJ CHAR(1),XMMC VARCHAR2(100),KNQYBZ_DM CHAR(1),ZDYCKJN_BJ CHAR(1),SJJHPT_SJ TIMESTAMP(6),SJJHPT_DZ NUMBER(14));跟着在这个表结构的基础上,在目标数据库创建新表。
需要注意的是,gp数据库的数据类型有些跟oracle的一样,有些不同。
相同的就不用改了,不同的就改下。
以上面的数据类型为例,相同的有char、date、timestamp,不同的是varchar2和number,因此,varchar2(n)要改成varchar(n),number(n)要改成integer(注意不带数字长度n)。
建完之后,我们就可以在这不同数据库的两张表之间进行数据迁移或数据定时传输。
2.3.源数据库和目标数据库的jndi设置Jndi是kettle连接数据库的配置文件,相当于oracle的tns。
Jndi设置的目录是在kettle目录下的simple-jndi文件夹里,打开后编辑jdbc.properties 来设置jndi,下面附上公司揭阳涉税项目oracle 到gp数据库的jndi设置,分别是源端oracle数据库和目标端gp数据库。
配置信息的斜杠左边是jndi名,这里jndi的命名规则是数据库名_用户名,注意本地的jndi名要跟交换平台的jndi名一致。
配置信息的斜杠右边分别是数据库类型、驱动、数据库地址、用户名和密码。
注意,相同数据库配置写法相同,不同数据库的配置写法略有不同,像下面的oracle和gp数据库的driver和url地址写法就不一样。
oracle_db_mhpt/type=javax.sql.DataSourceoracle_db_mhpt/driver=oracle.jdbc.driver.OracleDriveroracle_db_mhpt/url=jdbc:oracle:thin:@172.16.11.91:1521:zrmhdboracle_db_mhpt/user=db_mhptoracle_db_mhpt/password=DB_MHPTgp_public/type=javax.sql.DataSourcegp_public/driver=org.postgresql.Drivergp_public/url=jdbc:postgresql://172.16.11.165:5432/postgresgp_public/database=8gp_public/user=gpadmingp_public/password=gpadmin2.4.写kettle脚本Kettle脚本有两种,ktr脚本跟kjb脚本,其中ktr负责执行,具体要做什么由ktr来负责;kjb负责调度,调用一个或多个ktr。
Ktr和kjb的关系类似于像员工和领导之间,员工负责具体的事务操作,领导负责计划安排工作。
新建ktr脚本可以点击左上角的文件 --> 新建 --> 转换,新建kjb脚本就文件 --> 新建 --> 作业。
我们这里传输数据只要用到kjb脚本,一张表的数据传输要有1个脚本。
首先先新建一个ktr文件,如图2.4所示,跟着我们按照主界面的提示拖动主键来操作。
拖动组件在核心对象的组件库里。
图2.4跟着我们需要4个组件,分别是获取变量、表输入、字符串操作、插入/更新,先从组件库里找到这些组件然后拖动到右边面板上,查找组件可以用组件名称来在组建的搜索框里搜索。
拖动后如图2.5所示。
图2.5然后给他们组件之间建立连接,用拉箭头来连接即可,如图2.6所示:图2.6组件之间连接完之后,跟着双击组件一个个编辑。
第一步是获取变量,在获取变量前首先要设置入参用来获取变量,设置变量先双击主对象树的ktr名(转换1是未保存文件到本地的默认名),跟着设置命名参数。
如图2.7跟2.8所示。
其中start_timestamp和end_timestamp这两个是数据交换平台服务器上默认的用于增量抽取数据的两个入参,分别表示数据开始时间跟数据结束时间。
这里填上了默认值方便测试。
图2.7 图2.8设置入参后再编辑获取变量的组件,这里名称跟入参一样,kettle变量名的写法是${Variables},类型我们选择string,因为服务器上交换平台传进来的start_timestamp和end_timestamp参数也是string类型的,我们这里跟它一致。
也如图2.9所示:图2.9第二步是表输入,首先要先连接数据库,之前我们在本地文件上配置了jndi,这里jndi就用得上。
新建或编辑数据库连接,选择好连接的数据库,还有jndi 连接方式,再填上jndi名称和连接名称,设置完了就点击左下角的测试来测试本地能不能连上数据库。
连上了我们才做其他的步骤。
图2.10连通好后,写好sql语句。
这里sql语句用到变量,kettle变量的写法是${variables},而使用变量要在左右两端再加上单引号,变成’${variables}’。
注意数据库后台的日期类型是date,而变量是字符串类型,因此需要做个变量的类型转换。
因为有使用变量,所以需要勾上“替换sql语句里的变量”单选框。
设置好后可以预览下数据看下。
图2.11第三步是字段去除左右空格,编辑“字符串操作”,点get fields获取从上个步骤表表输入获取的字段名,然后把trim type全部选择both,意思是去除字段左右两端的空格。
如果get fields得到的字段有start_timestamp和end_timestamp这两个,这两个多余的,就删去。
如下图所示:图2.12第四步是插入数据到目标端的新表,首先是要先连通目标端的数据库。
设置好后再点击“测试”连通到目标端的数据库。
图2.13跟着是设置目标表(目标模式可以不填),点击浏览选择模式/用户下的数据库表。
然后设置每插入多少条数据提交的提交记录数量,用来查询的关键字选择主键的字段,而更新字段是全部,点击获取字段即可。
他这里操作的原理是:如果目标表有符合该查询的条件的记录时,那么更新此条数据;不符合时,那么将源表的此条数据插入到目标表。
图2.14这四个步骤编辑完成后最后就是执行这四个步骤了,点击左上角的运行图标,设置时间参数或者时间参数按照默认值,运行后,如果全部组件都有绿色勾勾的标志的话说明全部运行成功,如下图所示。
如果某一个步骤失败的话就是红色勾勾的标志,这时候就要看日志或者步骤度量来分析了。
从下面的步骤度量看表输入有1条数据输入进来,插入/更新步骤有1条数据写进去了。
图2.153.在数据交换平台设置定时任务以公司这边的数据交换平台为例(http://172.16.11.17:9001/WebContentadmin/admin),如果交换平台的jndi设置没有设置的话,那么要首先设置这样跑kettle脚本的话才能连到数据库,注意本地kettle的jndi名要跟交换平台的jndi名一致,需要统一命名。
图3.1跟着将脚本放上服务器,可以在页面上上传文件到服务器。
图3.2上传好后,需要先跑一回脚本跑成功才能设置定时调度,所以我们先运行一次。