ETL工具---留念2011年的点滴(二)
来源:互联网 发布:淘宝子账号怎么登录 编辑:程序博客网 时间:2024/06/05 14:47
ETL(Extraction-Transformation-Loading的缩写)中文名称为数据提取、转换和加载。负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载临时或永久的数据存储域,成为后续处理的基础。在数据仓库的书籍中,会经常出现这个词。
我恰好跟数据仓库打交道,所以ETL是一个重要的工作内容了。
在我们进行数据清洗时,经常会碰到一个问题,是用专用的ETL工具好,还是自己开发的ETL脚本好?这个要根据实际情况了,专用的etl需要买的,很贵,碰到自己需要的个性化,不能很好的变通。而自己开发的脚本需要费精力去维护和保持版本统一。
说到这,我要澄清一个问题,ETL和ETL工具区别,
ETL :是一个次序的过程,一个概念。是把三个步骤合到一起的一个统称,是一个项目中的实施过程。
ETL工具:是为了实现一个有次序的过程,而专门开发的一套通用的软件组合,是一个独立的产品。
这此只说这个ETL工具。ETL到下节说。
现在主流的ETL工具:IBM的DataStage 和 Teradata的ETL Automation,kettle和Talend
上面说的产品,可以百度一下,都有详细的介绍和比较。
列出这几个产品,主要是因为从事的项目中用到的ETL是自己开发的,开发原理类似Teradata的ETL Automation,用到的DB2数据库,对IBM产品的关注,和对开源的软件的支持。
我们现在用的ETL的工具包括以下几个主要程序:
1.作业调度程序,这个是核心,会对调度表的内容进行循环扫描,发现有需要调度的作业编号,就取出作业号,找到对应的作业进行调度。c语音实现。
2.作业监控程序,这个是对作业调度时间的控制,对于定时的作业,在时间到时要把作业放到调度表,对于触发的作业,要检查触发条件是否满足,如果满足,把作业放到调度表,
同时可以对文件目录的变化进行监控,如果目录中文件有变化,把对应的作业加到调度表中。
3.作业重调程序,这个是对报错的作业进行重新调度。
这3个程序都是c语言实现,在后台长期运行,所以稳定性要求很高,可以实现连续运行两年,不需要重新启动。
4.作业配置程序,这个是单独开发的,使用perl脚本,配置开发用的作业。使用的时候配置一个作业需要花费2分钟的时候,这个速度是可以接受的。
5.使用存储过程来进行具体的转换工作。
总体来说,和ETL流程不一致,而是ELT模式。
结构图如下:
优点:1.可以快速的配置作业,不依赖于具体的开发工具,记事本都可以直接开发。利于远程维护。
2.修改转换、清洗规则,不需要重新修改作业。
3.由于使用了存储过程,所以速度上是能达到高标准。
4.在团队协作开发中,可以和转换、清洗并发操作。
5.可快速响应需求变更的处理。
缺点:1.没有图形界面。
2.对人员熟悉系统的结构要求高。
另外在用的还有一种ETL工具,FLEX开发的WEB界面。可对数据进行ETL的方式的实现,缺点明显且致命。
1.系统部署麻烦,作业配置也很麻烦。配置一个作业需要10分钟。
2.运行速度慢,当数据库连不上时,容易僵死。
在抽取压缩处理 1亿条数据时,居然需要3个小时,真的很崩溃。需要后续的持续改进。
实施新的项目时,在对ETL工具的使用上,要选择谨慎态度,有几条建议,可以参考一下:
1.成本最小化 是指在选用ETL工具时,不但要顾眼前的利益,还要考虑以后的维护成本和维护方便性,。
2.版本统一化 是指当项目在多个地方实施时,版本尽量统一,减少技术支持难度。
3.兼顾扩展性和兼容性。
- ETL工具---留念2011年的点滴(二)
- ETL过程---留念2011年的点滴(三)
- 商业智能概述---留念2011年的点滴(一)
- 关于使用ETL工具Kettle的简单介绍(二)
- etl工具nifi使用系列(二):简单数据处理processor的使用
- ETL工具的关键技术
- 数据仓库的ETL工具
- ETL工具的进化
- ETL抽取工具informatica powercenter designer实例(二)
- ETL与数据仓库的区别(二)
- ETL工具—kettle使用之二
- 关于ETL工具的思考
- 关于ETL工具的思考
- 嵌入式ETL工具的例子
- 关于ETL工具的思考
- 微软ETL工具SSIS的
- OWB的ETL工具教程
- Kettle 与 Talend Open Studio 的 ETL 比较以及其它ETL工具(网络收集)
- HDU3732多重背包
- 后缀数组
- 使用scanf函数时应该注意的问题
- hdu1181floyd传递包
- hdu1043八数码问题解题报告
- ETL工具---留念2011年的点滴(二)
- hdu1068二分匹配
- JAVA类的基本应用3
- NAT的完全分析及其UDP穿透的完全解决方案
- hdu1114 Piggy-Bank 完全背包
- Ubuntu下创建Eclipse桌面快捷方式
- hdu1134大数+catalan数
- 1133catalan数二维变种
- hdu1160最长递增子序列