计算机网络应用:Kettle例子

合集下载

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

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

KETTLE使用自己总结的Kettle使用方法和成果说明简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出.Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做.Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

Kettle可以在http://kettle。

pentaho。

org/网站下载到。

注: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可以在http:///网站下载ž下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。

运行Kettle进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat或Kettle.exe文件.Linux用户需要运行spoon。

sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令:# chmod +x spoon。

kettle 复杂转换示例

kettle 复杂转换示例

kettle 复杂转换示例"Kettle" 是一个开源的数据集成工具,也被称为 "Pentaho Data Integration" (PDI)。

它允许用户从多个源提取数据,进行转换和清洗,然后将数据加载到目标系统。

以下是一个简单的Kettle复杂转换示例,它涉及从一个CSV文件读取数据,进行一些转换,然后将结果写入另一个CSV文件。

1. 步骤1:从CSV文件读取数据假设我们有一个CSV文件,其内容如下:```pythonid,name,age1,John,252,Jane,303,Doe,40```首先,我们需要从CSV文件中读取数据。

为此,您需要创建一个“Table input”步骤,并指定CSV文件的路径。

2. 步骤2:转换数据接下来,我们可能希望添加一个新的列,该列是原始“age”列的两倍。

为此,您可以使用“Modified Java Script Value”步骤。

在脚本字段中,您可以编写以下代码:```javascriptvar age = age 2;```3. 步骤3:将数据写入CSV文件最后,我们将转换后的数据写入另一个CSV文件。

为此,您需要创建一个“Table output”步骤,并指定输出文件的路径。

确保在“Table output”步骤的配置中包含所有需要的列。

4. 连接步骤将“Table input”步骤连接到“Modified Java Script Value”步骤,然后将“Modified Java Script Value”步骤连接到“Table output”步骤。

这确保了数据从源传递到目标,同时经过所需的转换。

5. 运行作业完成所有步骤后,您可以在Kettle中运行作业以测试整个流程。

检查输出文件以确保数据已被正确读取、转换并写入。

请注意,这只是一个基本示例。

Kettle提供了许多其他功能和步骤,可以根据需要进行更复杂的转换和数据处理。

kettle制作实例以及查询效率分析

kettle制作实例以及查询效率分析

kettle制作实例以及查询效率分析今天一工作是利用kettle抽取数据形成新表输出至数据库,现有表1 ERR_CONT_INFO(销售合同基本信息),表内信息如下图所示:同时表2 ERP——CONT_PROD_D销售合同明细要求做一转换,根据指定的年月按年月抽取数据到目标表,目标表如下所示:CREATE TABLE ODS_SALESCONTAMT_D{STATMONTH VARCHAR(10) //月份统计SALESID VARCHAR(20) //销售员idCUSTID VARCHAR(10) //客户编号CONTCORP VARCHAR(20)CONTSOURCE INTERGERCONTTYPE INTERGERPRODID VARVHAR(10)ARCHIVENO VARVHAR(20) //合同号CONTDATE VARCHAR(20) //合同时间PRODAMT DECIMAL(14,2) //产品类别金额CONTAMT DECIMAL(14,2) //合同金额COUNT INTERGER //销售量}未经思考直接做的流程图是分析:可以看出第一次表输入需要读取一次所有值(很大的问题,若数据库1w 项记录,只有1k是有用的,如此读取数据造成9k无用的读入);通过判断年月后,需要再次对数据库进行查询,最终流程对数据库进行了2次读取,时间效率和利用值比较低。

改进:在数据库连接中,通过join查询将2张表一次性读取,减少对数据库的查询次数。

sql :select distinct a.amt,a.contid,a.salesid,a.contdate,a.custid,a.archiveno,a.contcor p,a.contsource,a.conttype,b.prodid ,b.saleprice,b.qty from ERP_CONT_INFO as a joinERP_CONT_PROD_D as b on a.contid=b.contid where a.contdate >=? and a.contdate < ? and b.saleprice is not NULL并且流程图也是更为简洁。

计算机网络Kettle命令行使用说明

计算机网络Kettle命令行使用说明

保证原创精品已受版权保护Kettle命令行使用说明1.Kitchen——作业执行器是一个作业执行引擎,用来执行作业。

这是一个命令行执行工具,参数说明如下。

1)-rep:Repositoryname任务包所在存储名2)-user:Repositoryusername执行人3)-pass:Repositorypassword执行人密码4)-job:Thenameofthejobtolaunch任务包名称5)-dir:Thedirectory(don'tforgettheleading/or\)6)-file:Thefilename(JobXML)tolaunch7)-level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别8)-log:Theloggingfiletowriteto指定日志文件9)-listdir:Listthedirectoriesintherepository列出指定存储中的目录结构。

10)-listjobs:Listthejobsinthespecifieddirectory列出指定目录下的所有任务11)-listrep:Listthedefinedrepositories列出所有的存储12)-norep:Don'tlogintotherepository不写日志示例:1. Windows 中多个参数以/ 分隔,key 和value之间以:分隔✓作业存储在文件Kitchen.bat /level:Basic>D:\etl.log /file:F:\Kettledemo\email.kjb✓作业存储在数据库Kitchen.bat /rep kettle /user admin /pass admin /job F_DEP_COMP(Rep的值为数据库资源库ID)2.Linux 中参数以–分隔作业存储在文件kitchen.sh-file=/home/job/huimin.kjb >> /home/ log/kettle.log作业存储在数据库./kitchen.sh -rep=kettle1 -user=admin -pass=admin -level=Basic -job=job。

Kettle5.某使用步骤带案例解析详细版

Kettle5.某使用步骤带案例解析详细版

Kettle5.某使用步骤带案例解析详细版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.测试JDK安装成功(略)3.运行KettleWindows下找到$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;4.2 组件树介绍4.2.1Transformation 的主对象树和核心对象分别如下图:Transformation中的节点介绍如下:Main Tree:菜单列出的是一个transformation中基本的属性,可以通过各个节点来查看。

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

kettle系列教程二

kettle系列教程二

kettle系列教程二1、H ello World 示例通过这个例子,介绍kettle的一些基础知识及应用:⏹使用Spoon工具⏹转换的创建⏹步骤及连线⏹预定义变量⏹在Spoon中预览和执行⏹使用pan工具在终端窗口执行转换概述我们要实现的目标是:通过一个包含人名称的CSV文件,创建一个XML文件,内容是针对每个人添加上问候。

如果csv文件内容如下:last_name, nameSuarez,MariaGuimaraes,JoaoRush,JenniferOrtiz,CamilaRodriguez,Carmenda Silva,Zoe则输出的XML文件内容如下:- <Rows>- <row><msg>Hello, Maria!</msg></row>- <row><msg>Hello, Joao!</msg></row>- <row><msg>Hello, Jennifer!</msg></row>- <row><msg>Hello, Camila!</msg></row>- <row><msg>Hello, Carmen!</msg></row>- <row><msg>Hello, Zoe!</msg></row></Rows>我们要设计的第一个转换就是创建由csv文件生成一个问候XML文件。

转换是由步骤和连接组成,这些步骤和连接构成数据流,因此转换是基于数据流的。

环境准备开始设计一个转换之前,我们先创建一个文件夹Tutorial,我们将保存所有的文件到该文件夹中,然后创建一个csv文件,内容就是前面人员信息,你可以复制到文本文件中,然后命名为list.csv。

Kettle使用手册及测试案例

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的案例

kettle的案例

kettle的案例
1. 电热水壶
一个常见的kettle案例就是电热水壶。

这种kettle使用电力加热水,可以快速将水加热到沸腾的温度。

用户只需将水倒入水壶,按下开关,水壶就会开始加热。

一些电热水壶还配有温度控制器,用户可以选择不同的加热温度,以适应不同的饮品或烹饪需求。

这种kettle非常方便,适用于家庭、办公室和旅行等场合。

2. 燃气热水瓶
另一个kettle的案例是燃气热水瓶。

这种kettle使用燃气作为热源,通过热交换器将水加热。

用户只需打开燃气阀门,点燃火源,燃气热水瓶就会开始加热水。

一些燃气热水瓶还配有温度控制器和定时器,用户可以自定义加热温度和时间。

这种kettle适用于没有电力供应的地区或户外使用。

3. 电子壶
另一个kettle的案例是电子壶。

这种kettle主要用于煮茶或咖啡。

它通常具有预设的煮茶或咖啡程序,可以根据不同的茶叶或咖啡豆种类选择适当的温度和时间。

用户只需将水和茶叶或咖啡豆放入壶中,选择适当的程序,电子壶就会自动完成煮茶或咖啡的过程。

这种kettle非常方便,可以确保茶或咖啡的品质和口感。

总结:
kettle的案例包括电热水壶、燃气热水瓶和电子壶。

这些kettle都
具有加热水的功能,但使用不同的热源和加热方式。

它们在不同的场合和用途下都发挥着重要的作用,为用户提供了便利和舒适的热水体验。

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

保证原创精品已受版权保护
Kettle使用范例
1.错误处理
在转换步骤的过程中,当某个步骤发生错误时可能要进行额外的步骤处理。

因此,在设置时就要求为步骤添加错误处理。

以下面的流程为例:
该流程为将源表的数据同步到目标表中,在目标表中人为的设置某个字段的长度小于源表,让其能在处理过程中会报出异常。

为了可视化处理结果,将同步的结果输出到XML文件中。

选中“Target Table”步骤,点击鼠标右键,然后选择“Define error handling…”菜单项,将会弹出设置对话框。

相关文档
最新文档