一、 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/

感谢您的阅读。

最新文章

  1. 【转】gc日志分析工具
  2. Python学习笔记(1)
  3. js实现输入框数量加减【转】
  4. javascript code snippet -- Forwarding Mouse Events Through Layers
  5. Python~第三方模块
  6. StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It&#39;s All About Performance
  7. 分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署
  8. 推荐5 款WordPress主题后台选项开发框架
  9. 在VC6中使用ogre进行游戏开发
  10. 得到当前网址的域名 ASP.NET
  11. mySql 安装教程
  12. 201521123078 《Java程序设计》第12周学习总结
  13. Linux系统编程---实现目录或者文件拷贝
  14. 《Gradle权威指南》--Android Gradle插件
  15. 7.2内存管理-ARC
  16. 雷林鹏分享:jQuery EasyUI 树形菜单 - 使用标记创建树形菜单
  17. 怎样去写线程安全的代码(Java)
  18. Android--自定义半圆环型进度(带动画)
  19. GATK--使用转载
  20. 简单配置AAA认证与telnet图解

热门文章

  1. 关于CAS
  2. 899. Orderly Queue
  3. Ubuntu安装google-chrome
  4. 【OpenCV-Python】-图像平滑
  5. linux下执行Python项目,crontab不能定时执行任务
  6. java websocket client
  7. 【lua】LWT HttpdModule
  8. &lt;a&gt;标签里面嵌图片&lt;img&gt;下面出现一小段空白的原因
  9. log4j DailyRollingFileAppender, DatePattern 配置
  10. C++要点总结