KETTLE详细设计

合集下载

KETTLE详细设计

KETTLE详细设计

KETTLE详细设计KETTLE是一种用于提供数据集成、转换和加载功能的开源工具,经常用于数据仓库、数据集市和ETL(抽取、转换和加载)过程。

它提供了图形用户界面,允许用户通过拖放操作来定义数据集成任务,并提供了强大的数据处理功能和可扩展的插件机制。

以下是KETTLE的详细设计,包括架构、核心模块和主要功能。

1.架构- Spoon:用于设计和配置任务的图形界面工具。

- Kitchen:用于以命令行方式执行任务。

- Pan:用于批量执行任务。

这些模块可以独立运行,也可以通过调用KETTLE的API进行集成。

2.核心模块-元数据存储:用于保存任务和转换的定义和配置信息,支持多种数据库和文件格式。

-作业管理器:用于管理任务和转换的执行,包括执行控制、错误处理和监控。

-转换引擎:用于执行数据转换和操作,支持各种数据处理任务,如数据筛选、合并、变换和聚合。

-数据加载:用于向目标系统加载转换后的数据。

3.主要功能-数据连接和访问:支持多种数据源和文件格式,包括关系数据库、文件、XML、JSON等。

可以通过定义连接和查询来访问数据源。

-数据转换和操作:提供了丰富的数据转换和操作功能,如数据筛选、排序、合并、分割、变换、聚合等。

可以通过拖放操作来定义转换和操作的步骤和顺序。

-错误处理和监控:提供了强大的错误处理和监控机制,可以捕获和处理数据转换过程中的错误和异常。

还可以定义报警和日志输出,以便及时发现和解决问题。

-调度和批量执行:支持任务的调度和批量执行,可以定义作业流并规定作业的执行顺序和依赖关系。

支持并行执行和资源调度,以提高任务的执行效率。

-插件机制和扩展性:提供了可扩展的插件机制,允许用户根据需求开发自定义插件并集成到KETTLE中。

还提供了丰富的内置插件,包括数据转换、文件处理、数据库操作等。

总结:KETTLE是一种功能强大的数据集成、转换和加载工具,具有丰富的功能和灵活的架构。

它通过图形用户界面和拖放操作提供了可视化的数据处理方式,使得任务的设计和配置变得简单和直观。

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程序分析1.简介ETL是数据抽取(Extract)、转换(Transform)、装载(Load)的过程。

Kettle是一款国外开源的ETL工具,有两种脚本文件transformation和job,transformation 完成针对数据的基础转换,job则完成整个工作流的控制。

2.相关概念Job:一个作业,由不同逻辑功能的entry组件构成,数据从一个entry组件传递到另一个entry组件,并在entry组件中进行相应的处理。

Transformation:完成针对数据的基础转换,即一个数据转换过程。

Entry:实体,即job型组件。

用来完成特定功能应用,是job的组成单元、执行单元。

Step:步骤,是Transformation的功能单元,用来完成整个转换过程的一个特定步骤。

Hop:工作流或转换过程的流向指示,从一个组件指向另一个组件,在kettle源工程中有三种hop,无条件流向、判断为真时流向、判断为假时流向。

3.体系结构kettle平台是整个系统的基础,包括元数据管理引擎、数据集成引擎、UI和插件管理模块。

(1)元数据管理引擎元数据管理引擎管理ktr、kjb或者元数据库,插件通过该引擎获取基本信息,主要包括TransMeta、JobMeta和StepMeta三个类。

TransMeta类,定义了一个转换(对应一个.ktr文件),提供了保存和加载该文件的方法;JobMeta类,同样对应于一个工作(对应一个.kjb文件),提供保存和加载方法;StepMeta类,保存的是Step的一些公共信息的类,每个类的具体的元数据将保存在显示了StepMetaInterface的类里面。

(2)数据集成引擎数据集成引擎包括Step引擎、Job引擎和数据库访问引擎三大部分,主要负责调用插件,并返回相应信息。

(3)UIUI显示Spoon这个核心组件的界面,通过xul实现菜单栏、工具栏的定制化,显示插件界面接口元素,其中的TransGraph类和JobGraph类是用于显示转换和Job的类。

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,双击运行I 二 set-pentaho-en 认bat set- pentaho-env.Snh [丄 Spoon.bats'poon.^oimmand £p oon.icoL tnnnn nnn欢迎界面如下图所示:Pentaho Data IntegrationI Avlability5,1 A QrZ|2314 =1 Jhg 打APiit 、Allriotzi 13»工=- ■绝 mEP on I □ ji-* ' nMn":ITU ra jK azcp 更1b PF SH I" w Z I -Sfi 俺 论 峠 -I JI■tzjL -Td3 0 All hrt t # 冲 Qgiw r 淖恤 Jj 疔李 if A M "AS I 貧 E 3 515- .Mi hkj^T iAAj=»4hr OH COM : IlChS L- H ^4:, T -r-w VESWI ET IE — = ir«U4n ■忻 k- biTfc.irz -sirf经: 大小: 修改【◎ p entaho4、KETTLES 件介绍与使用4.1 Kettle 使用Kettle 提供了资源库的方式来整合所有的工作,;1) 创建一个新的transformation ,点击 保存到本地路径,例如保存到D:/etltest 下,保存文件名为Trans , kettle 默认transformation 文件保存后后缀名为ktr ;2) 创建一个新的job ,点击 保存到本地路径,例如保存到D:/etltest 下,保存文件名为Job , kettle 默认job 文件保存后后缀名为kjb ;4.2组件树介绍4.2.仃ransformation 的主对象树和核心对象分别如下图: 面主櫥^ /核心饶I浏览贞主对象I 对、/核心对象 _____________|Sl ^'1卜 Q InputP S 输入」匕转换丿黒 db2excel-e DBiggC database2exceE丿□ Steps (步藝I”脚吧{;「ipt 代码“山询Script 代码2 钊 MicrosoftExcel 输出 且 datasource 氐获®:義统信息 吐获耽系统信息2 »设1变量 豊iSg 变量2丄□ Hops (行点连接)*■ datasource -> Microsoft Excel 帛…获取義统信息-> J 旳話cript 代码[(!J 卵日攵「ipt 代码*■> {^置变量(disaL "获取寮読信皂2 -> JavaScriptf^fi^4 JavaScript^® 2 —> 设嬰变呈 2 (启 □数据库分区Hhwrnas u 子服务器 Q KettleMIrSiChemasQ 輸出Q 转换 Q 应用 三流程 B 脚本e 查询S 连接e 姻仓阵Q 检验 S 统计Q Big Data 巴 Agile a 加密eG a s QaPaloOpenERP 作业批量加载 内联Q 实验 a 不推荐的 s厉史■戸柞业』C db2e)ccel 星已DE 连接b ,6作业项目► START寶转换 □魁邮件✓ On 瀏坟件到结果文件中e 子服务器STARTDUIM MV作业><转授由呂件 文件管理条1牛 脚本批豈创信Big Data XML应用 贵源/车P r 文件传输 f 严文件加匣;* t一) PaloQ Depre 匚atcd可以通过各个节点来查看。

kettle课程设计

kettle课程设计

kettle课程设计一、课程目标知识目标:1. 学生能理解Kettle的基本概念,掌握其功能特点及操作流程。

2. 学生能运用Kettle完成数据的抽取、转换和加载操作。

3. 学生能掌握Kettle中常见的数据转换组件及其使用方法。

技能目标:1. 学生能独立安装和配置Kettle软件。

2. 学生具备使用Kettle进行数据处理和分析的能力。

3. 学生能运用Kettle解决实际问题,提高数据处理效率。

情感态度价值观目标:1. 培养学生对数据处理的兴趣,激发学习动力。

2. 培养学生团队协作、共同解决问题的能力,增强合作意识。

3. 培养学生勇于探索、积极进取的精神,树立正确的数据价值观。

课程性质:本课程为实践性课程,以学生动手操作为主,结合理论知识讲解。

学生特点:学生具备一定的计算机操作基础,对数据处理有一定的了解,但Kettle使用经验较少。

教学要求:教师需关注学生个体差异,因材施教,注重培养学生的实际操作能力,提高数据处理技能。

同时,注重激发学生的学习兴趣,引导他们树立正确的数据价值观。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容本课程教学内容主要包括以下几部分:1. Kettle概述:介绍Kettle的基本概念、功能特点、应用场景及发展历程。

2. Kettle安装与配置:讲解Kettle软件的安装步骤、环境配置及基本操作界面。

3. 数据抽取、转换和加载:学习Kettle中ETL过程的实现方法,包括数据连接、数据抽取、数据转换和数据加载等。

4. 常见数据转换组件:介绍Kettle中常用的数据转换组件,如过滤、排序、合并、拆分、聚合等,并讲解其使用方法。

5. Kettle实战案例:结合实际案例,让学生动手操作Kettle,完成数据处理任务。

6. 课程总结与拓展:总结本课程所学内容,引导学生探索Kettle的进阶功能,激发学生的学习兴趣。

教学内容安排如下:第1周:Kettle概述及安装配置第2周:数据抽取、转换和加载基础第3周:常见数据转换组件及其使用方法第4周:Kettle实战案例分析与操作第5周:课程总结与拓展教材章节关联:第1章:Kettle概述及安装配置第2章:数据抽取、转换和加载基础第3章:Kettle数据转换组件第4章:Kettle实战案例第5章:课程总结与拓展教学内容科学系统,注重理论与实践相结合,旨在提高学生的数据处理技能和实际操作能力。

KETTLE详细设计

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进行相关的操作,如:新建、打开、保存、导入、导出等相关操作。

(图1.6)说明:编辑:是对Kettle当前打开的Job与Trans进行相关的操作,如:复制、撤销、环境变量显示、资源库查看、图形界面自定义调整(颜色、字体、样式)等相关操作。

(图1.7)说明:视图:是对Kettle当前打开的Job与Trans进行放大、缩小相关操作。

(图1.8)说明:资源库:是对Kettle中所使用到的资源库进行操作,如:资源库连接、断开、当前用户编辑等操作。

KETTLE详细设计

KETTLE详细设计

KETTLE详细设计说明书V0.1变更记录1 Kettle界面介绍双击Kettle.exe或者Spoon.bat打开Kettle图形界面化如下:1.1)(图Kettle完成针对数据的,Transformation(转换)与Job(作业)中有两类设计分别是:Transformation则完成整个工作流的控制。

基础转换,Job。

、KitchenSpoonKettle常用三大家族:、Pan: Transformation。

Spoon通过图形界面方式设计、运行、调试Job与:。

通过脚本命令方式来运行TransformationPan:脚本来完成定时任务。

Kitchen 通过脚本命令方式来运行Job,一般就是通过调用Kitchen说明:相关协议说明。

GNU的相关版本信息与Kettle时显示的是Kettle当打开.1.2)(图关于乌江水电项目工程存Kettle时弹出的窗口提示以资源库方式登录相关信息,明:打开说。

“没有资源库”储方式是以XML文件方式来进行存储,所以我就直接点击(1.3)图按钮。

”关闭“相关信息,这里直接点击Spoon设计界面。

提示关于Kettle进入说明:图1.4)( 图片中所使用到的字母位置标识说明。

说明:所使用到的菜单栏。

(A):Kettle 时所涉及使用到的对象。

:在使用Kettle(B) Kettle中所有的组件。

:(C)显示相应的结果。

(C)或者D):根据选择(B)(设计界面。

:Kettle(E)1.5)(图说明:进行相关的操作,如:新建、打开、保存、导入、Trans与Job所生成的Kettle文件:是对.导出等相关操作。

1.6)(图说明:进行相关的操作,如:复制、撤销、环境变量显与Trans编辑:是对Kettle当前打开的Job 等相关操作。

(颜色、字体、样式)示、资源库查看、图形界面自定义调整1.7)(图说明:进行放大、缩小相关操作。

Trans与Job当前打开的Kettle视图:是对.1.8)图( 说明:中所使用到的资源库进行操作,如:资源库连接、断开、当前用户编辑Kettle资源库:是对等操作。

KETTLE详细设计说明

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进行相关的操作,如:新建、打开、保存、导入、导出等相关操作。

(图1.6)说明:编辑:是对Kettle当前打开的Job与Trans进行相关的操作,如:复制、撤销、环境变量显示、资源库查看、图形界面自定义调整(颜色、字体、样式)等相关操作。

(图1.7)说明:视图:是对Kettle当前打开的Job与Trans进行放大、缩小相关操作。

(图1.8)说明:资源库:是对Kettle中所使用到的资源库进行操作,如:资源库连接、断开、当前用户编辑等操作。

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

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进行相关的操作,如:新建、打开、保存、导入、导出等相关操作。

(图1.6)说明:编辑:是对Kettle当前打开的Job与Trans进行相关的操作,如:复制、撤销、环境变量显示、资源库查看、图形界面自定义调整(颜色、字体、样式)等相关操作。

(图1.7)说明:视图:是对Kettle当前打开的Job与Trans进行放大、缩小相关操作。

(图1.8)说明:资源库:是对Kettle中所使用到的资源库进行操作,如:资源库连接、断开、当前用户编辑等操作。

(图1.9)说明:转换:是对Kettle当前所打开的Trans进行相关测试功能。

(图1.10)说明:作业:是对Kettle当前所打开的Job进行操作,如:运行、复制、参数设置等相关操作。

(图1.11)说明:向导:是对Kettle当前所打开的Job或者Trans对其进行一步一步的指导性操作。

(图1.12)说明:帮助:查看当前Kettle版本相关信息。

2 Kettle数据源连接配置Kettle中对于数据源有作用域的定义,也就是说有全局数据源与局部数据源两种。

首先打开Kettle UI界面,使用快键方式(Ctrl+N)创建一个转换,新建数据源如下图:(图2.0) 通过点击“新建”,则出现(图2.1)(图2.1)说明:通过(图2.1)我们可以看到创建数据源时需要配置相应的参数:Connection Name(必填):配置数据源使用名称,如:wjsd_srcHost Name(必填):数据库主机IP地址,如:192.168.1.254Database Name(必填):数据库实例名称,如:WJSDTablespace for Data(可选):数据表空间名称Tablespace for indices(可选):数据索引名称Port Number(必填):端口号User Name(必填):用户名Password(必填):密码Access:选择数据库连接方式,ODBC方式则需要配置系统ODBC,JNDI则使用配置jdbc.properties文件,默认为Native(JDBC)连接方式,。

注:在Kettle中如果在填写框末尾出现$符号标识说明此处可以使用变量参数来定义。

填写好数据库连接信息后,点击“Test”按钮,出现效果如(图2.2)(图2.2)说明:配置成功数据源后默认情况下数据源作用域为局部数据源,如果需要把数据源修改成为全局数据源,则选择数据源wjsd_src右击Share保存即可。

3 Kettle全量抽取对于纬表、字典表或者是没有时间戳的表,一般我们都采用全量抽取的方式将业务系统库中的数据抽取到数据仓库中。

乌江水电项目需要用到全量抽取的源表有:下面以CIM下面的d_Reservoir为例详细描述Kettle全量抽取的过程1、创建转换(Ctrl+N),转换名称为:d_Reservoir2、创建数据源连接wjsd_src、wjsd_tag,可参考【Kettle数据源连接配置】3、在Kettle设计盘中拖入“表输入”、“表输出”两个组件即可4、执行转换对数据进行抽取5、查看结果是否与数据源中的数据是否一致步骤1、创建转换(图3.1)说明:当创建转换时点击“核心对象”下方则显示可以在转换中能使用的所有组件。

点击“输入”--单击“表输入”把“表输入”组件往空白处拖入即可。

(图3.2)说明:双击“表输入”组件弹出(图4.2),输入或选择相应的参数信息。

步骤名称:默认为“表输入”,如果想规范化建议填写源表名称信息,以便清楚查询是某张表结构信息数据库连接:选择数据来源数据源名称SQL:编写查询源数据SQL脚本,可以通过“获取SQL查询语句…”获取。

允许延迟转换:强烈建议默认替换SQL语句里的变量:如果SQL语句中有使用到变量则需要勾选从步骤插入数据:默认执行每一行:默认记录数量限制:0表示默认,如果有特殊需求可以自定义只查询出多少条记录数注:1、在SQL语句中一定不能加入分号(;),这是初学者很容易犯错的一个地方。

2、如果无法确定SQL语句是否正常时可以通过“预览”来查看SQL语句是否正确。

(图3.3)说明:有了源之后则需要有目标,也就是说有我水我们则需要把水通过渠道通向目标如(图4.3) 拖入“表输出”后,我们通过按住“Shift”键单击源划向目标“表输出”,则会出现源指向目标的箭头线。

双击“表输出”如(图4.3),另外可以选择两个或者两个以上的组件进行位置对齐,可以通过Ctrl+向上箭头、Ctrl+向下箭头、Ctrl+向左箭头、Ctrl+向右箭头。

步骤名称:默认为“表输入”,如果想规范化建议填写目标表名称信息,以便清楚查询是某张表结构信息数据库连接:选择数据来目标数据源名称目标模式:schema,Oracle数据库则是用户名。

目标表:从源数据输出到目标表名提交记录数:设置数据库提交大小裁剪表:清空目标表数据,相当于Oracle数据库Truncate语法忽略插入错误:当插入数据库出错时则可以忽略,默认忽略18条记录数,记不太清楚Specify database fields:手动指定源与目标字段映射关系,如(图4.4)Main options:如果是表分区则可以指定表分区,一般为默认Database fields:如(图3.4)(图3.4)说明:指定源与目标字段映射关系,点击Get fields匹配字段映射关系。

注:在没有勾选“Specify databasefields”情况下,源表字段不能多于目标表的字段数量,否则会出错。

(图3.5)说明:点击运行按钮,或按F9,运行这个转换,根据(图3.5)可以查看出转换运行的日志情况。

(图3.6)说明:根据(图3.6)可以查看出每个步骤执行的记录数、读、写、输入、输出、更新、拒绝、错误、激活、时间、速度。

可以通过查看此处分析当前转换运行效率而断定转换是否需要进行优化。

总结:1、在运行转换时,当前转换是处于并发状态,如果有多个表输入则会同时运行。

2、在设计转换时最好是一个数据流,不要有多条数据流。

如果有多条数据流则有可能发生锁表问题。

4 Kettle增量抽取对于下面以traget_day为例,详细描述增量抽取数据。

因为是增量的抽取,所以参数的传递是必要的。

增量抽取一般都是抽取昨天的数据装载到目标表中。

Kettle中参数使用方法有两种:一种是%%变量名%%,一种是${变量名}。

这两种方法变量数据类型都是数字类型。

1、创建转换(Ctrl+N),转换名称为:traget_day2、创建数据源连接wjsd_src、wjsd_tag,可参考【Kettle数据源连接配置】3、在Kettle设计盘中拖入’’执行SQL脚本”、“表输入”、“表输出”三个组件4、执行转换对数据进行抽取5、查看结果是否与数据源中的数据是否一致(图4.1)注:在SQL中使用变量时需要把“是否替换变量”勾选上,否则无法使变量生效。

说明:这里需要注意的是后面的限定where条件,因为源表的时间字段是时间类型,我们的参数是数字类型,所以需要根据源表时间字段的不同注意转换。

(图4.2)说明:这里与全量抽取的表输出差不多。

(图4.3)说明:这里要考虑到数据出错重跑的问题,如果需要重新插入输入参数日期的数据,就必须要先删除输入参数日期的数据,不然会报错。

因为我参数在条件里面,变量替换要打上沟,不然设置的变量会失效。

5 Kettle实时数据抽取乌江水电项目实时数据的表有实时抽取与增量抽取基本上相差不大,只是对时间戳的处理方式不同,以REAL这张表为例,详细描述实时抽取过程的步骤。

1、创建转换(Ctrl+N),转换名称为:traget_day2、创建数据源连接wjsd_src、wjsd_tag,可参考【Kettle数据源连接配置】3、在Kettle设计盘中拖入’’执行SQL脚本”、“表输入”、“表输出”三个组件4、执行转换对数据进行抽取5、查看结果是否与数据源中的数据是否一致(图5-1)说明:因为实时抽取的表时间戳字段一般都为TIMESTAMP类型,这里where条件对参数的处理必须这样,不然可能会在抽取数据的时候导致数据丢失。

(图5-2)说明:表输出与增量抽取相同,只是目标表不同。

图(5-3)说明:这里与增量抽取相类似,回跑的时候参数日期的数据必须要删除。

同时注意变量替换打上勾。

图(5-4)说明:依次把每个步骤连接起来,顺序如图5-4所示。

6 Kettle定时任务在增量抽取过程中,ETL定时任务是一个必不可少的环节,因为定时任务取决与你的ETL程序抽取业务数据的频率程度(日、周、季、月、年),一般情况下都采用T+1方式来抽取数据到目标表中,也可以通过指定日期参数抽取到目标表。

6.1 参数变量设置转换首先创建相应的参数变量设置转换(Set_Param.ktr)。

对于怎样获取昨天日期,一般通过“获取系统信息”组件获取昨天日期,再通过字段选择转换成yyyy-mm-dd格式,最后设置成变量,设置参数变量为${YESTERDAY}。

如下图:(图6.1-1)获取相关的日期参数,昨天日期。

(图6.1-2)由于获取日期是到时分秒,通过字段选择转换成年月日格式。

图(6.1-3)设置参数,点确定时会提示大致意思是“设置的参数不能在当前转换中使用”。

相关文档
最新文档