Kettle数据抽取解决方案
一、 Kettle介绍
1. Kettle简介
ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程。Kettle的中文翻译为水壶。Kettle以元数据驱动的方式提供强大的抽取、转换和加载(ETL) 能力。本身提供了强大的图形界面设计器,可以大大缩短数据抽取项目的开发周期,并且容易维护。 Kettle设计器界面友好,提供了工作流设计模式,能满足各种场景的实现。
2. Kettle的模型架构

3. Kettle的优点
1) 支持多种数据源;
2) 支持多任务并发,支持大数据量的抽取转换处理,执行效率高;
3) 成熟的异常处理流程;
4) 可与Java应用很好结合。
4. Kettle的扩展性
Kettle的控件采用插件式开发模式,因此本身就具备了很好的扩展性,支持插件式开发。插件式开发可以提高应用的可用性,插件可以单独更新与升级。
二、 实施方案
1. 数据更新流程
示例方案的部署图如下:

通过部署在各个节点的监听触发器监听各个节点的业务表数据状态,当有数据更新时,触发器会将记录此部分数据,并将源节点名称和应抽取数据的表名等参数传递到ETL调度程序,ETL调度程序通过表名调度ETL脚本,将此节点的未抽取状态的增量数据抽取到目标数据库中,执行结束后将返回值参数传递给触发器更新数据状态。
2. 新增节点
新增节点时,将源节点的数据库配置(数据库名,表空间名,用户名,密码等信息)配置到相应的调度表中,在源数据库中配置监听触发器,人工手动执行脚本将新增节点的业务表的全量数据抽取到目标表中即可。
3. 问题处理
在调度程序中存在一种配置即当由于断网导致ETL脚本报错时,将脚本复位至执行前的状态并静置一段时间(时间可配置)后再次执行脚本,直到脚本运行成功。由于断网导致ETL脚本报错时,本次运行成功抽取到数据库中的数据回滚,等到下一次运行时重新抽取该数据。
<!-- Start -->
获知及时信息,请关注我的个人微信订阅号:0与1的那点事

<!-- End -->
本文为博主原创文章,转载请注明出处!
http://www.cnblogs.com/libingbin/
感谢您的阅读。
Kettle数据抽取解决方案的更多相关文章
- kettle 数据抽取时会出现 无法插入NULL
kettle 数据抽取时会出现 无法插入NULL,其实是空字符串,原因是kettle默认不区分空字符串和NULL. 解决办法: 修改kettle.properties 文件:
- Kettle 数据抽取
1.创建数据库连接 2.建立转换 3.指定源数据库和目标数据库的字段映射 一定要在「输出」中勾选「指定字段」,然后点按钮「Get All fields」,再「Enter mapping」,在弹出窗口映 ...
- KETTLE——(二)数据抽取
过了个春节,好长时间没有更新了,今天接着写第二部分——数据抽取. 进入界面以后会发现左侧菜单有两个东西:转换和作业:简单说一下,转换是单次的转换,不可重复,但可重复利用:作业是汇聚了其他操作和多次(可 ...
- ETL kettle 数据调取防止意外停止处理
pentaho kettle是目前使用比较广泛的一种etl工具 但是在使用的时候如做定时任务 会存在如果任务异常停止会发生数据不准或者丢失数据的情况 这种情况在<Pentho Kettle So ...
- Kettle定时抽取两个库中的两个表到目标库SYS_OPLOG表
A库a表(红色为抽取字段): 关联用户表: B库b表(红色为抽取字段): 关联用户表 C目标库SYS_OPLOG表(c表) 利用kettle抽取A库a表(具体名称见上图),B库b表的上面红色框起来 ...
- KETTLE数据上传
1. KETTLE简介 一种ETL工具,ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(l ...
- Spark数据倾斜解决方案(转)
本文转发自技术世界,原文链接 http://www.jasongj.com/spark/skew/ Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势 发表于 2017 ...
- HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 《BI项目笔记》增量ETL数据抽取的策略及方法
增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据.在ETL使用过程中.增量抽取较全量抽取应用更广.如何捕获变化的数据是增量抽取的关键.对捕获方法一般有两点要求:准确性,能够将 ...
随机推荐
- idea没有tomcat选项在setting也没有Application Servers
原因:dea未正常关闭,重启后发现,Tomcat的选项不见了,File->Setting->Build,Excution,Deployment里面Application Servers也不 ...
- ImportError: No module named 'tkinter'
环境说明: windows7.vscode1.33.1.python3.7.0. 解决方案: 通过安装程序单独卸载“tcl/tk and IDLE”------重新安装“tcl/tk and IDLE ...
- Java框架-mybatis02基本的crud操作
1.搭建mybatis框架 1)导入相关jar包 2)编写核心配置文件(配置数据库连接的相关信息以及配置mapper映射文件) 3)编写dao操作 4)编写mapper映射文件 5)编写实体类 2.执 ...
- java实现多线程的4种方式
1.继承Thread类 看jdk源码可以发现,Thread类其实是实现了Runnable接口的一个实例,继承Thread类后需要重写run方法并通过start方法启动线程. 继承Thread类耦合性太 ...
- openerp学习笔记 数据合法性约束(对象约束+数据库约束)
#检测同一时间段内是否存在相同的请假单,False 是存在,不允许创建 def _check_date(self, cr, uid, ids): for rec in self.b ...
- JS框架设计之模块加载系统
任何语言一到大规模应用阶段,必然要拆封模块,有利于维护和团队协作,与Java走得最近的dojo率先引进了加载器,使用document.write与同步Ajax请求实现,后台dojo以JSONP的方法来 ...
- selenium+Python(表单、多窗口切换)
1.多表单切换 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这 ...
- ps如何替换有透明图片的颜色
修改透明图片的颜色 首先用魔棒工具点选颜色区域,然后再在菜单中找到 图像-调整-替换颜色,就可以选任意想要的颜色
- git笔记(三)
详细输出日志 git log --pretty=raw 查看id类型 git cat-file -t fe4c git cat-file -t b36bf6 git cat-file -t b08 ...
- 【Lua】Lua + LWT + ExtJS构建目录树
Lua处理后台逻辑,Lua lwt搭建后台程序,ExtJS根据后台传来的json数据构建目录树. 前台html和ExtJS代码不用多讲,直接上代码: treePanel.html <html&g ...