ETL及kettle介绍
Kettle解决方案:第一章ETL入门

Kettle解决⽅案:第⼀章ETL⼊门第⼀章ETL⼊门1.1 OLPT和数据仓库对⽐普通的事务系统和商业智能系统(BI)有什么区别?1个独⽴的普通事务系统也被称为在线事务处理系统(OLTP)商业智能系统也常被称为决策⽀持系统(DSS)OLTP和BI数据库最⼤的区别在于处理的数据量。
对⽐使⽤中BI系统也经常作为业务系统的⼀部分,预先处理好⼀部分数据提供给业务系统调⽤并展现。
1.2 ETL是什么ETL是抽取、转换、加载的缩写。
含义为从数据源抽取数据加⼯到数据仓库的⼀些操作的集合。
抽取:⼀般需要连接到不同的数据源转换:任何对数据的处理都是转换⽐如以下操作加载:将数据加载到⽬标系统的所有操作(不仅包含⽬标表)。
ETL的演化过程(1)⼿动编程时期(2)ETL⼯具(基于⾃动化代码):根据设计好的⼯作量⾃动⽣成代码。
最⼤的问题是仅限于有限的数据库。
(3)ETL⼯具(基于引擎):数据仓库和数据集市的区别:数据仓库是单⼀的,⼤量数据的存储仓库,涉及各种主题和各个业务领域。
通常⼀个数据仓库不能准备终端⽤户直接访问。
数据集市可被终端⽤户直接访问,并且是以数据分析为⽬的的。
我们可能基于某⼏个分析主题的需要,从数据仓库中读取数据建⽴数据集市。
ETL的基本构成:ETL就像⼀个业务流程,具有输⼊,加⼯,输出等多个环节和处理步骤。
1.3 ETL,ELT,EIIETL: 从1/N个数据源抽取数据,经过1/N步架构,物理存储到⽬标环境中,⽬标环境通常是数据仓库。
ELT: 抽取、加载、转换的简称,与ETL不同的在于数据整合的⽅法上略有不同:抽取数据到⽬标数据库后再转换。
⽽ETL是抽取,转换后在加载到⽬标环境。
另外的不同,ELT需要知道使⽤⽬标数据库对应的SQL⽅⾔。
EII:虚拟数据整合,⽆需将数据复制到或移动到数据仓库。
不需要额外存储,数据永远都是最新的。
⽐较如下1.4 挑战数据整合的挑战在于 1需要对业务的理解 2技术的要求。
其他部分:Kettle是作者使⽤java基于敏捷⽅法迭代开发完成的⼯具。
kettle的基本介绍

kettle的基本介绍Kettle主要内容:⼀.ETL介绍⼆.Kettle介绍三.调⽤Kettle API⼀、ETL介绍1. ETL是什么?1).ETL分别是“Extract”、“ Transform” 、“Load”三个单词的⾸字母缩写也即数据抽取、转换、装载的过程,但我们⽇常往往简称其为数据抽取。
ETL包含了三⽅⾯:Extract(抽取):将数据从各种原始的业务系统中读取出来,这是所有⼯作的前提。
⼀般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据。
这⼀部分看上去简单⽽琐碎,实际上它是 ETL 解决⽅案的成功实施的⼀个主要障碍。
Transform(转换):按照预先设计好的规则将抽取得数据进⾏转换,使本来异构的数据格式能统⼀起来。
任何对数据的处理过程都是转换。
这些处理过程通常包括(但不限于)下⾯⼀些操作:移动数据根据规则验证数据数据内容和的修改将多个数据源的数据集成根据处理后的数据计算派⽣值和聚集值Load(装载):将转换完的数据按计划增量或全部导⼊到数据仓库中。
也就是说将数据加载到⽬标系统的所有操作。
2).ETL是(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。
是构建的重要⼀环,⽤户从抽取出所需的数据,经过,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
3).ETL是BI/DW( Business Intelligence/Data Warehouse , 商务智能/数据仓库)的核⼼和灵魂,按照统⼀的规则集成并提⾼数据的价值,是负责完成数据从数据源向⽬标数据仓库转化的过程,是实施数据仓库的重要步骤。
DW(Data Warehouse)即数据仓库:这个概念是由被誉为“数据仓库之⽗”的WilliamH.Inmon博⼠提出的:数据仓库是⼀个⾯向主题的、集成的、随时间变化的、信息相对稳定的数据集合,它⽤于对企业管理和决策提供⽀持。
kettle基础简介

目录: 1. ETL基本概念 2. Kettle简介 3. Kettle常用控件 4. 总结
Kettle常用控件
1、kettle的概念模型
2、转换控件 3、任务控件
Kettle常用控件->kettle的概念模型
Kettle常用控件
1、kettle的概念模型
2、转换控件 3、任务控件
Kettle常用控件->转换控件
Kettle常用控件->任务控件
JOB控件界面如左图,分别有通用、邮件、条件、脚 本等模块 常用输入控件有: START(任务的开始点)、 Transformation(调用转换控件)、Job(调用JOB控 件)、Success(执行结束控件)、Mail(发送邮件控 件)、Evaluate rows number in a table 、Simple evaluation、JavaScript(执行JS脚本)、Shell(执 行shell脚本)、SQL(执行sql脚本)等。
1、创建转换
2、输入控件 3、转换控件 4、输出控件 5、其他控件
Kettle常用控件->转换控件->创建转换
1、点击工具栏文件->新建->转换或按快捷键ctrl+n都可以新建转换, 创建成功后单击工具栏上的绿色箭头或按F9即可执行转换 2、保存转换时有两种方式,资源库和文件。
转换一般分为三步,输入,中间转换,输出
kettle下载路径:/ JDK下载路径: /technetwork/java/javase/downloads/index.html
Kettle简介
1)、kettle简介 2)、kettle部署 3)、kettle编程环境
总结
Thank You
kettle源码解读

kettle源码解读一、Kettle简介Kettle,又称作Kitchen,是一款开源的数据抽取、转换和加载(ETL)工具。
它被广泛应用于数据仓库和业务智能领域,旨在帮助用户高效地将数据从源系统迁移到目标系统,并进行数据清洗、转换和集成。
Kettle具有易于使用、功能强大、灵活性高等特点,深受业界喜爱。
二、Kettle工作原理Kettle的工作原理可以概括为以下几个步骤:1.连接源系统:Kettle支持多种数据源,如关系型数据库、文件、Web服务等。
用户可以通过连接字符串或使用内置的连接器来连接源系统。
2.数据抽取:Kettle的数据抽取是基于任务(Job)进行的。
一个任务包含多个步骤,每个步骤负责完成特定数据操作。
通过编写或使用内置的抽取脚本,可以从源系统中获取所需的数据。
3.数据转换:Kettle提供了丰富的转换功能,如过滤、投影、聚合、拆分、合并等。
用户可以利用这些功能对数据进行清洗、处理和整合,以满足目标系统的需求。
4.数据加载:将转换后的数据加载到目标系统中。
Kettle支持多种目标数据源,如关系型数据库、文件、Web服务等。
5.调度与监控:Kettle支持任务的定时执行、并行执行等调度方式。
此外,还提供了详细的监控功能,以便用户实时了解任务运行状况。
三、Kettle核心组件1.转储(Dump):用于将数据从源系统抽取到临时文件,以便进行后续处理。
2.步骤(Step):任务中的基本操作单元,可以实现数据过滤、转换、加载等功能。
3.连接(Connection):用于连接源系统和目标系统。
4.变量(Variable):任务中用于存储和传递数据的变量。
5.参数(Parameter):用于配置任务运行时的参数,如数据库用户名、密码等。
四、Kettle应用场景1.数据迁移:将现有系统的数据迁移到新系统中,如数据库迁移、数据仓库迁移等。
2.数据集成:将多个数据源(如ERP、CRM、OA等)的数据集成到一个统一的数据仓库中,以便进行后续的报表、分析等操作。
kettle 解析

kettle 解析kettle是什么?kettle是一种ETL(Extract,Transform,Load)工具,它支持从各种数据源中提取数据,对数据进行转换和处理,最终将数据载入目标系统中。
kettle 可以应用于数据仓库的构建、数据集成等领域。
kettle 的特点是什么?kettle 具有以下特点:1. 开源免费:kettle 是一个开源项目,用户可以免费使用它。
2. 简单易用:kettle 的用户界面设计简单直观,易于学习和使用。
3. 支持多种数据源:kettle 支持从多种数据源中提取数据,包括数据库、文本文件、Excel 文件等。
4. 处理能力强:kettle 提供了丰富的转换和处理功能,包括数据清洗、数据转换、数据合并、数据拆分等。
5. 执行效率高:kettle 的执行效率较高,支持多线程执行,能够快速处理大量数据。
kettle 的架构是什么?kettle 的架构包括以下组件:1. Spoon:Spoon 是 kettle 的 GUI 工具,用于设计和调试 ETL 任务。
2. Pan:Pan 是 kettle 的命令行工具,用于执行 ETL 任务。
3. Kitchen:Kitchen 是 kettle 的脚本工具,用于通过脚本方式执行 ETL 任务。
4. Carte:Carte 是 kettle 的集群工具,用于在分布式环境中执行 ETL 任务。
5. Repository:Repository 是 kettle 的元数据库,用于存储ETL 任务的元数据。
kettle 的应用场景是什么?kettle 可以应用于以下场景:1. 数据仓库构建:kettle 可以帮助用户从多种数据源中提取数据,进行清洗和转换,最终将数据载入数据仓库中。
2. 数据集成:kettle 可以帮助用户将多个数据源中的数据整合起来,形成一个完整的数据集。
3. 数据迁移:kettle 可以帮助用户将数据从一个系统迁移到另一个系统,支持多种数据格式和数据源。
kettle的作业和转换

kettle的作业和转换Kettle的作业和转换一、介绍KettleKettle是一款功能强大的开源ETL工具,ETL是指数据的抽取(Extract)、转换(Transform)和加载(Load)的过程。
Kettle 能够帮助用户在不同数据源之间进行数据的传输、转换和处理,以满足各种数据集成和数据处理的需求。
二、Kettle的作业1. 什么是Kettle作业?Kettle作业是由一系列定义好的转换和任务(Job)组成的工作流程。
它可以根据预定义的顺序和条件来执行各种任务,实现数据的抽取、转换和加载等操作。
2. 如何创建Kettle作业?创建Kettle作业非常简单,只需要打开Kettle工作台,选择新建作业,然后在作业设计界面中拖拽和配置各种任务和转换组件即可。
用户可以根据实际需求,自由组合各种任务和转换,构建出自己所需的作业流程。
3. Kettle作业的执行顺序和条件Kettle作业中的任务执行顺序和条件可以通过连接线和控制节点来定义。
连接线表示任务间的依赖关系,控制节点则用于设置任务的执行条件。
通过合理设置连接线和控制节点,可以实现灵活的作业流程控制。
4. Kettle作业的调度和监控Kettle提供了丰富的调度和监控功能,用户可以根据需要设置作业的执行时间和频率,也可以通过日志和警报功能实时监控作业的执行情况。
这些功能可以帮助用户更好地管理和控制数据处理过程。
三、Kettle的转换1. 什么是Kettle转换?Kettle转换是Kettle中最基本的数据处理单元,它由一系列的步骤(Step)和连接(Hop)组成。
每个步骤负责不同的数据处理任务,如数据抽取、数据转换、数据加载等。
2. 如何创建Kettle转换?创建Kettle转换同样很简单,只需要在Kettle工作台中选择新建转换,然后在转换设计界面中拖拽和配置各种步骤和连接即可。
用户可以根据实际需求,自由组合各种步骤和连接,构建出自己所需的转换流程。
ETL及kettle介绍

目录1. ETL知识 (3)1.1. ETL定义 (3)1.1.1. 定义 (3)1.1.2. 前提 (3)1.1.3. 原则 (3)1.2. 模式及比较 (4)1.3. ETL过程 (7)1.3.1. 总流程 (7)1.3.2. 数据抽取流程 (8)1.3.3. 数据清洗流程 (8)1.3.4. 数据转换流程 (10)1.3.5. 数据加载流程 (11)1.4. 问题分析 (12)1.4.1. 字符集问题 (12)1.4.2. 缓慢变化维处理 (14)1.4.3. 增量、实时同步的处理 (14)1.4.4. 断点续传 (15)1.5. ETL工具 (15)2. Kettle简介及使用 (16)2.1. 什么Kettle? (16)2.2. 下载及安装Kettle (17)2.3. Kettle简单例子 (19)2.3.1. 启动Kettle (19)2.3.2. 创建transformation过程 (20)2.3.3. 创建job过程 (41)2.3.4. 命令行运行ktr和kjb (45)1.ETL知识1.1.ETL定义1.1.1.定义●定义:数据的抽取(Extract)、转换(Transform)、装载(Load)的过程。
●目标:数据优化。
以最小代价(包括对日常操作的影响和对技能的要求) 将针对日常业务操作的数据转化为针对数据仓库而存储的决策支持型数据。
1.1.2.前提●确定ETL范围通过对目标表信息的收集,确定ETL的范围●选择ETL工具考虑资金运行的平台、对源和目标的支持程度、可编程的灵活性、对源数据变化的监测、数据处理时间的控制、管理和调度功能、对异常情况的处理●确定解决方案抽取分析、变化数据的捕获、目标表的刷新策略、数据的转换及数据验证1.1.3.原则●应尽量利用数据中转区对运营数据进行预处理。
保证数据的安全性、集成与加载的高效性。
●ETL的过程应是主动“拉取”,而不是从内部“推送”,其可控性将大为增强。
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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1. ETL知识 (2)1.1. ETL定义 (2)1.1.1. 定义 (2)1.1.2. 前提 (2)1.1.3. 原则 (2)1.2. 模式及比较 (3)1.3. ETL过程 (6)1.3.1. 总流程 (6)1.3.2. 数据抽取流程 (7)1.3.3. 数据清洗流程 (7)1.3.4. 数据转换流程 (9)1.3.5. 数据加载流程 (10)1.4. 问题分析 (11)1.4.1. 字符集问题 (11)1.4.2. 缓慢变化维处理 (12)1.4.3. 增量、实时同步的处理 (12)1.4.4. 断点续传 (13)1.5. ETL工具 (13)2. Kettle简介及使用 (14)2.1. 什么Kettle? (14)2.2. 下载及安装Kettle (14)2.3. Kettle简单例子 (16)2.3.1.启动Kettle (16)2.3.2.创建transformation过程 (17)2.3.3.创建job过程 (37)2.3.4.命令行运行ktr和kjb (41)1.ETL知识1.1.ETL定义1.1.1.定义●定义:数据的抽取(Extract)、转换(Transform)、装载(Load)的过程。
●目标:数据优化。
以最小代价(包括对日常操作的影响和对技能的要求) 将针对日常业务操作的数据转化为针对数据仓库而存储的决策支持型数据。
1.1.2.前提●确定ETL范围通过对目标表信息的收集,确定ETL的范围●选择ETL工具考虑资金运行的平台、对源和目标的支持程度、可编程的灵活性、对源数据变化的监测、数据处理时间的控制、管理和调度功能、对异常情况的处理●确定解决方案抽取分析、变化数据的捕获、目标表的刷新策略、数据的转换及数据验证1.1.3.原则●应尽量利用数据中转区对运营数据进行预处理。
保证数据的安全性、集成与加载的高效性。
●ETL的过程应是主动“拉取”,而不是从内部“推送”,其可控性将大为增强。
●流程化的配置管理和标准协议●数据质量的保证正确性(Accuracy):数据是否正确体现在现实或可证实的来源完整性(Integrity):数据之间的参照完整性是否存在或一致一致性(Consistency):数据是否被一致的定义或理解完备性(Completeness):所有需要的数据是否都存在有效性(Validity):数据是否在企业定义的可接受的范围之内时效性(Timeliness):数据在需要的时间是否有效可获取性(Accessibility):数据是否易于获取、易于理解和易于使用数据格式错误(如缺失数据、数据值超出范围或数据格式非法等)数据一致性:数据源系统为了性能的考虑,会在一定程度上舍弃外键约束,这通常会导致数据不一致。
例如在帐务表中会出现一个用户表中没有的用户ID,在例如有些代码在代码表中找不到等。
1.2.模式及比较两种模式异构同构模式比较的维度:特点环境1.3.ETL过程1.3.1.总流程●数据抽取●数据清洗●数据转换●数据加载1.3.2.数据抽取流程●数据来源文件系统,业务系统●抽取方式根据具体业务进行全量或增量抽取●抽取效率将数据按一定的规则拆分成几部分进行并行处理●抽取策略根据具体业务制定抽取的时间、频度,以及抽取的流程1.3.3.数据清洗流程清洗规则:●数据补缺对空数据、缺失数据进行数据补缺操作,无法处理的作标记●数据替换对无效数据进行数据的替换●格式规范化将源数据抽取的数据格式转换成为便于进入仓库处理的目标数据格式●主外键约束通过建立主外键约束,对非法数据进行替换或导出到错误文件重新处理转换规则●数据合并多用表关联实现,大小表关联用lookup,大大表相交用join(每个字段加索引,保证关联查询的效率)●数据拆分按一定规则进行数据拆分●行列互换●排序/修改序号●去除重复记录●数据验证:lookup,sum,count实现方式优点缺点时戳方式在业务表中统一添加字段作为时戳,当OLTP 系统更新修改业务数据时,同时修改时戳字段值 源数据抽取相对简单清楚,速度快,适合数据的增量加载 需要修改业务表中的数据结构,业务数据变动时工作量比较大,相对风险较大 日志表方式在OLTP 系统中添加日志表,业务数据发生变化时,更新维护日志表内容 不需要修改业务表中的数据结构。
源数据抽取简单清楚,速度快,适合数据的增量加载 业务系统中更新记录日志操作麻烦 全表对比方式抽取所有源数据,在更新目标表之前先根据主键和字段进行数据比对,有更新的进行update 或insert 对系统表结构没有任何影响,管理维护统一,可以实现数据的增量加载数据比对复杂,设计比较复杂,执行速度慢 全表删除插入方式 删除目标表数据,将源数据全部插入 ETL 规则简单,速度快 对维表加代理健不适应,OLTP 系统有删除数据时,不能在数据仓库体现被删数据,不能实现增量加载1.4.问题分析1.4.1.字符集问题1.字符集定义字符集是字符(包含字母,数字,符号和非打印字符等)以及所指定的内码所组成的特定的集合。
是基于某种操作系统平台和某种语言集支持的。
语言集的集合被称为语言组,它可能包含一种或多种语言。
2.C/S字符集转换●直接转换对于同一语言组的不同字符集之间,可以直接进行字符的转换,不会产生乱码●通过Unicode转换Unicode支持超过650种语言的国际字符集Unicode系统缺省字符集utf-81.4.2.缓慢变化维处理1.缓慢变化维定义在现实世界中,维度的属性并不是静态的,会随着时间的流失发生缓慢的变化。
这种随时间发生变化的维度我们一般称之为缓慢变化维。
2.处理方式●不保留历史数据●保留历史数据起始-结束日期字段标识真/假状态字段标识版本号字段标识代理键字段标识⏹自增序列⏹构造算法●保留且分析历史信息添加新的维度列(数据增多,维度列增多)1.4.3.增量、实时同步的处理●整表匹配同一个库中进行●写触发器客户是否允许创建触发器是否影响数据库性能●读数据库日志Oracle:设定物化视图日志1.4.4.断点续传●利用源表的索引机制,抽取时按”数据块”顺序抽取●采取DBLink的机制,结合oracle自身机制优化效率●生成本地文件块,FTP传输减少对带宽影响。
若中断,流程控制自动回滚加载当前数据块●ETL工具大都支持异常中止后读取断点重新加载的处理●支持对变化数据的捕获●与目标数据库松耦合1.5.ETL工具目前ETL工具来源:1.数据库厂商自带的ETL工具OWB、ODI:oracle数据库厂商提供的工具,有局限性,与oracle数据库耦合太深SSIS:Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台。
前身是mssql2000的DTS.第三方数据库源需要采用ODBC数据转换,效率上有一定折扣.若项目以msssql server数据库为主,采用它肯定是最佳方案。
2.第三方工具提供商Ascential公司的Datastage:最专业的ETL工具,价格不菲,使用难度一般Informatica公司的Powercenter:专业程度如Datastage旗鼓相当,价格似乎比Datastage便宜。
IBM SPSS Statistics:IBM SPSS Statistics 产品家族能够帮助企业解决从计划和数据收集到分析、报告和部署的整个分析过程中的问题。
它由多个模块集成,您可以根据需求从中选择一个或多个模块来实现您所希望达到的功能。
这些模块可单独购买,也可以捆绑购买。
3.开源ETL工具kettle:业界最有名的开源ETL工具。
开源当然就免费,免费的有些东西使用就不是很方便。
2.Kettle简介及使用2.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.2.下载及安装Kettle1.下载地址:/projects/pentaho/files2.本地安装jdk 1.5或以上版本。
3.配置java环境变量(1)打开我的电脑--属性--高级--环境变量(2)新建系统变量JAVA_HOME和CLASSPATH变量名:JAVA_HOME变量值: [具体路径以自己本机安装目录为准]变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (3)选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。
变量名:Path变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;4.配置kettle环境变量在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:\kettle\data-integration5.以上步骤完成后直接启动kettle即可Windows直接双击批处理文件 Spoon.bat具体路径为:kettle\data-integration\Spoon.batLinux 则是执行spoon.sh,具体路径为:~/kettle/data-integration/spoon.sh2.3.Kettl e简单例子2.3.1.启动Kettle点击D:\data-integration\下面的Spoon.bat,过一会儿,就会出现Kettle 的欢迎界面:2.3.2.创建transformation过程2.3.2.1.配置数据环境在做这个例子之前,我们需要先配置一下数据源,这个例子中,我们用到了三个数据库,分别是:Oracle、MySql、SQLServer,以及一个文本文件。
而且都放置在不同的主机上。
Oralce:ip地址为192.168.1.103,Oracle的实例名为scgtoa,创建语句为:create table userInfo(id int primary key,name varchar2(20) unique,age int not null,address varchar2(20));insert into userInfo values(1,'aaa',22,'成都市二环路');insert into userInfo values(2,'东方红',25,'中国北京');insert into userInfo values(3,'123',19,'广州白云区');MySql:ip地址为192.168.1.107,数据库名为test2,创建语句为:create database test2;use test2;create table login(id int primary key,realname varchar(20) unique,username varchar(20) unique,password varchar(20) not null,active int default 0);insert into login values(1,'aaa','admin','admin',0);insert into login values(2,'东方红','test','test',1);insert into login values(3,'123','xxx123','123456',1);SQLServer:本机,ip为192.168.1.115,创建语句为:create database test3;use test3;create table student(sid varchar(20) primary key,sname varchar(20) unique,teacher varchar(20) not null,);insert into student values('078','aaa','李老师');insert into student values('152','东方红','Mr Wu');insert into student values('034','123','徐老师');文本文件:名为dbtest.log,位于192.168.1.103\zhang\上,即跟Oracle 同一个主机。