KETTLE实现复杂的流程】的更多相关文章

原地址 :http://ainidehsj.iteye.com/blog/1735434 需求: 1.你是否遇到了需要将mysql数据库中的所有表与数据迁移到Oracle. 2.你是否还在使用kettle重复的画着:表输入-表输出.创建表,而烦恼. 下面为你实现了一套通用的数据库迁移流程. 技术引导: 实现之初,在kettle提供的例子中找到了一个类似的(samples\jobs\process all tables). 通过相关改造,终于达到目标. 实现过程解剖: 整套流程分为:2个job,4…
KETTLE是一款将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的非常好用的一款ETL工具.学会它,对于跨数据库的表处理或者定时生成文本,excel等常见需求会处理的很容易. 上图就是一个很复杂的逻辑运算,包括了生成EXCEL.多表关联.调用存储过程.JS处理等均有涉及. 不仅如此,还可以针对多表做简单的配置,实现成百上千个表的数据抽取处理工作. 接下来, 笔者就从简单到复杂,从单表操作到实际应用中的复杂情况逐一介绍. 欢迎关注公众号,学习ETL.…
Kettle实现数据库迁移 需求: 做数据仓库时,需要将业务系统CRM抽取到数据仓库的缓冲层,业务系统使用的是SqlServer数据库,数据仓库的缓冲层使用的是mysql数据库,为实现数据库的迁移,即将SqlServer数据库中的所有表与数据迁移到Mysql. 解决办法: kettle设计一整套流程实现,读取数据库中表->创建表->表数据抽取 实现过程: 整套流程分为:2个job,4个trans.使用到的Trans插件:表输入.字段选择.复制记录到结果.从结果获取记录.设置变量.java脚本.…
示例功能(仅供测试): 在JAVA项目中,将数据从Excel文件导入数据库中.实现该能有多种方法,而本例则是“不走寻常路”,尝试借助Kettle实现数据导入. 原理: Java中调用存储在Kettle资源库的Trans(转换),在Trans中将实现数据的验证.转码.导入,并导出错误数据的Excel 环境: MyEclipse 8.5 + Kettle 4.4 + Oracle/MySQL JAVA代码示例: 需要用到的jar包: kettle-core.jar kettle-db.jar ket…
前几日我发了一个关于从cube里提取数据的kettle流程图,当时我测试了是正确的.今天我将N个这样的流程放到一个job里批量处理的时候,错误出现了,纠结了很久.我始终无法理解为什么单独执行是正确的,放到一起就不行了,其实之前也遇到过类似的问题,只是当时没太在意.其原因是,流程里面某两个节点之间不存在前后依赖的关系,导致在执行的时候,可能会先执行后面的流程,而前面的参数就无法传给后面的流程,下面是存在问题的kettle: 我对上面的流程做了如下处理,把构造时间参数,给环境变量赋值单独拿出来放到一…
需求: 1.你是否遇到了需要将mysql数据库中的所有表与数据迁移到Oracle. 2.你是否还在使用kettle重复的画着:表输入-表输出.创建表,而烦恼. 下面为你实现了一套通用的数据库迁移流程. 技术引导: 实现之初,在kettle提供的例子中找到了一个类似的(samples\jobs\process all tables). 通过相关改造,终于达到目标. 实现过程解剖: 整套流程分为:2个job,4个trans. 使用到的Trans插件:表输入.字段选择.复制记录到结果.从结果获取记录.…
kettle转换步骤工作组件 这里有四个类构成了这个kettle 步骤/节点,每一个类都有其特定的目的及所扮演的角色. TemplateStep:  步骤类实现了StepInteface接口,在转换运行时,它的实例将是数据实际处理的位置.每一个执行线程都表示一个此类的实例. TemplateStepData:  数据类用来存储数据,当插件执行时,对于每个执行的线程都是唯一的.执行时里面存储的东西主要包括数据库连接.文件句柄.缓存等等其他东西. TemplateStepMeta: 元数据类实现了S…
一.概述 流程主要用来控制数据流程与数据流向 应用则是提供一些工具类 二.流程步骤 1.ETL元数据注入 类似Java中的反射,在设计时不知道文件名.文件位置等,在真正执行时才知道具体的一些配置等信息 具体介绍后续补充,官方Wikia:https://wiki.pentaho.com/display/EAI/ETL+Metadata+Injection 2.数据过滤 这里说一下Java代码过滤,主要是Java的一些方法,例如indexOf(),matchs()等: 3.处理不确定的数据行数 检测…
本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820.html . 下面主要介绍项目部署流程,使用中有问题可以发邮件反馈. 准备工作: 本系统支持oracle和mysql数据库,所有你需要有一个oracle或mysql数据库. 本系统现在开发时使用的kettle版本是5.4,调整项目结构后,部署包中不包含kettle的jar,会通过环境变量KETTLE…
本文主要阅读目录如下: 1.应用场景 2.DEMO实战 3.DEMO下载 1.应用场景 这里简单概括一下几种具体的应用场景,按网络环境划分主要包括: 表视图模式:这种情况我们经常遇到,就是在同一网络环境下,我们对各种数据源的表数据进行抽取.过滤.清洗等,例如历史数据同步.异构系统数据交互.数据对称发布或备份等都归属于这个模式:传统的实现方式一般都要进行研发(一小部分例如两个相同表结构的表之间的数据同步,如果sqlserver数据库可以通过发布/订阅实现),涉及到一些复杂的一些业务逻辑如果我们研发…