• UID80
  • 登录2017-10-11
  • 粉丝63
  • 关注21
  • 发帖1124
  • 主页
  • 金币6445枚
社区居民
忠实会员
原创写手
潇潇宇 发布于2016-09-01 13:47
0/882

Pentaho电信行业案例--ETL

楼层直达

Pentaho电信行业案例--ETL

 

 
摘要: 在大数据时代,除了分布式数据仓库开始广泛采用外,构建数据仓库的ETL 工具也开始向并行化发展。在并行化的 ETL 工具里 Kettle 是最近两年被广泛使用的一种。Kettle以其高效性、易用性、可扩展性而闻名。在 Kettle E ...
 
 

   在大数据时代,除了分布式数据仓库开始广泛采用外,构建数据仓库的ETL 工具也开始向并行化发展。在并行化的 ETL 工具里 Kettle 是最近两年被广泛使用的一种。Kettle以其高效性、易用性、可扩展性而闻名。在 Kettle ETL 内核的基础上,对其作了重构和修订。增强了其稳定性、同时增加了调度、监控、元数据管理等必要管理功能。并应用在多个项目上。典型应用的项目包括:XX电信DPI用户行为分析项目、IDAP分布式数据仓库项目、网管专家海量日志分析、XX航运ShareData 基础数据的升级移植和多系统数据同步项目等。

Kettle的高效主要因为支持分布式多线程并行化处理和集群功能。Kettle的多线程采用的是一种流水线并发的机制,转换里的所有步骤以多线程的方式并发同时执行。其多线程机制基于生产者和消费者模式,步骤之间有数据缓存,上一个步骤是生产者,下一个步骤是消费者。Kettle集群允许转换以及转换中的步骤在多个服务器上并发执行。Kettle 有一个主节点(Master Server)和多个从节点(Slave Server)。主节点负责协调和通信,从节点负责实际的转换和加载操作。通过实际测试表明,根据从节点个数的不同,通过集群方式可以将性能提高 30%~60%。

Kettle集群的架构如下图所示:

 

ETL的调度,监控等作业可以通过自动触发与手动触发来实现,双重作业形式让客户可以得到及时准确的数据分析支持。自动触发是在到达指定的时间点时自动启动ETL作业,手动触发是指由操作人员通过交互操作启动ETL作业。在通常情况下,ETL作业被配置为自动触发方式,只有当特殊的场合无法确定准确的ETL作业启动时间时,才会采用手动触发方式。此外,当自动触发的ETL作业出现异常故障时,也可以用手动触发方式对ETL作业进行重启和修正。

  • 调度:同时执行多个作业流,并在多个作业流间进行协调,使客户的系统资源和效率达到最佳化。在必要时,将并行处理的作业流自动转为串行处理方式,以防止过高的并发影响系统整体效率。调度日志记录了每个作业、作业流、作业批次和作业的执行时间,可用于对每天的数据处理流程差异进行对比分析,也可为任务流程的优化提供参考数据。
  • 监控:操作管理人员可以通过监控界面实时监控当前 ETL 作业的开始时间、目前执行状态,如果有必要可以手工停止作业的运行。除了监控当前运行的作业,还可以查看到历史作业执行的情况,包括:执行时间、执行状态等。同时还可以实现资源监控,主要查看当前运行环境,监控目前已使用内存,最大内存,目前可用存储空间,CPU 占用率等。每个ETL作业,都会在日志中记录各自的完成情况,包括处理的数据量、异常数据、错误原因等信息。通过查看错误日志,可以快速地定位错误位置,并根据错误原因方便地排查错误。监控需要定时检查错误记录,及时发现并报告错误。此外,还可以通过任务日志,生成数据质量报告,以有利于对源数据质量的改进。

 

 

Kettle的主要特点包括:

Ø  纯Java编写,真正实现跨平台操作;

Ø  非常强大而且易于使用的设计界面,便于快速应用,简化设计;

Ø  支持多种数据源访问功能,包括数据库、定制封装的应用、WEB 服务、平面文件、XML 文件、存储过程、CSV 文件和动态XML消息等;

Ø  支持Hadoop、HBase、MongoDB、Cassandra等 NoSQL 数据库;

Ø  全面的数据库访问支持,系统适应性强,目前可支持的数据库类型达到45种,并可进行类型扩展;

Ø  转换简单,可扩展性强,预留了数据转换接口,通过利用这些接口,可以开发特定的转换插件;

Ø  可用Java进行集成开发,提供了基于Java的脚本编写功能,可以灵活地自定义ETL 过程

Ø  全面优化,高效稳定,针对不同的数据库系统自身的特点,在数据抽取、转换、容错等方面进行了优化,运行效率更高,系统更为健壮;

Ø  支持十余种数据库的批量加载;

Ø  支持集群运行转换,远端运行转换;

Ø  日志详细,有效跟踪,日志设置了不同的级别,从最小级别到调试级别,每个级别输出的日志信息不同。

 

来源:Pentahochina中国爱好者社区!


0人打赏
您需要登录后才可以回帖
发表回复
极贡献
技术问答
专题荟萃
程序人生
视觉设计
Android开发
iOS开发
编程语言
前端开发
后端开发
服务器架构
软件测试
运维方案
创业路上



最热文章墙

  • 76999/375   【精品推荐】200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^

  • 44075/191   情人节福利,程序员表白的正确姿势:改几行代码就变成自己的表白了

  • 43705/0   Python爬虫:常用浏览器的useragent

  • 40218/259   【精品推荐】Android版产品级的音乐播放器源码,功能太强大了,最好的产品原型有木有?

  • 37956/145   省时省力的Android组件群来了,非常棒的原型参考

  • 29218/142   2016抢红包软件及源码

  • 28975/2   超全!整理常用的iOS第三方资源

  • 28846/71   原创表白APP,以程序员的姿势备战新年后的7夕,持续完善中!

  • 23562/159   Android版类似UC浏览器:非常赞,产品级的源码

  • 22587/30   麻省理工的一帮疯子,真的实现了随意操控万物!(绝对黑科技)

  • 22270/25   Android工程师面试题大全

  • 22145/27   2016程序员跳槽全攻略

  • 21735/9   GitHub上排名前50的iOS项目:总有一款你用得着

  • 20701/20   码魂:程序员的牛B漫画

  • 18795/10   2016年最全的Android面试考题+答案 精编版

  • 18644/85   Android小而全的博客源码:非常适合全面掌握开发技巧

  • 18528/3   吐槽那些程序员的搞笑牛逼注释

  • 18517/42   一个绚丽的loading动效分析与实现!

  • 18504/73   【持续更新中】Android福利贴(二):资料源码大放送

  • 17453/1   iOS 动画总结

  • 17300/45   惊艳的App引导页:背景图片切换加各个页面动画效果

  • 17097/81   仿京东商城客户端Android最新版,不错的原型和学习资料

  • 16925/104   Android带弹幕的视频播放器源码,来自大名鼎鼎的Bilibili弹幕网站

  • 16838/23   个人收集的Android 各类功能源代码

  • 16324/5   新一代Android渠道打包工具:1000个渠道包只需要5秒

  • 16247/10   女程序员的梦,众网友的神回复

  • 16242/21   Android福利第三波【Android电子书】

  • 16109/53   基于瀑布流的美女图片浏览App,有注释的源代码

  • 16082/17   用JavaScript 来开发iOS和Android 原生应用:React Native开源框架中文版来啦

  • 16001/81   【精品推荐】类似360安全卫士安Android源码:非常赞的产品原型

  • 15938/11   年会上现场review代码是怎么样的体验!

  • 15744/23   珍藏多年的素材,灵感搜寻网站

  • 15742/0   iOS中文版资源库,非常全

  • 15048/18   65条最常用正则表达式,你要的都在这里了

  • 14573/15   基于Android支付宝支付设计和开发方案

  • 13999/17   什么是真正的黑客:收获12200+Stars,人气远超微软开源VS

  • 13968/11   有木有这样一张酷图帮你集齐所有git命令超实用

  • 13654/46   在线音乐播放器完整版(商用级的源码):非常赞,可听免费高品质专辑

  • 13480/0   GitHub iOS 库和框架Top100 

  • 13332/7   一张图搞定iOS学习路线,非常全面

  • 13325/7   用程序员的姿势抢过年的火车票

  • 13198/61   【技巧一】搭配Android Studio,如何实现App远程真机debug?

  • 12958/10   成为Java顶尖程序员 ,看这11本书就够了

  • 12875/10   微信支付终于成功了(安卓,iOS),在此分享

  • 12800/18   一张图搞定Android学习路线,非常全面

  • 12542/29   【持续更新中】Android福利贴(一):资料源码

  • 12475/3   基于Node.js的强大爬虫,能直接发布抓取的文章哦

  • 12185/4   46 个非常有用的 PHP 代码片段

  • 11740/3   即时通信第三方库

  • 11252/8   流媒体视频直播方案

  • 11170/18   八个最优秀的Android Studio插件

  • 11052/9   B站建开源工作组:APP想支持炫酷弹幕的看过来

  • 10882/9   烧了5亿美金,这家神秘的公司即将颠覆人类未来!

  • 10785/2   【精品推荐】高质量PHP代码的50个实用技巧:非常值得收藏

  • 10692/10   中国黑客的隐秘江湖:攻守对立,顶尖高手月入千万美元

  • 10056/6   开箱即用!Android四款系统架构工具

  • 9876/10   十大技巧快速提升Android应用开发性能

  • 9798/3   10款GitHub上最火爆的国产开源项目——可以媲美西半球

  • 9696/1   Android性能优化视频,文档以及工具

  • 9659/3   一张图看清Linux 内核运行原理

  • 返回顶部