工具传送门:
- Taskctl商业付费版(付费)
- Taskctl Web商业免费版(永久免费)
- Kettle(开源免费)
- Datastage (付费)
ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
下面给大家介绍一下什么是ETL以及ETL常用的三种工具——Datastage,Taskctl,Kettle。
什么是ETL?
ETL,Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
数据仓库结构
通俗的说法就是从数据源抽取数据出来,进行清洗加工转换,然后加载到定义好的数据仓库模型中去。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
ETL是BI项目重要的一个环节,其设计的好坏影响生成数据的质量,直接关系到BI项目的成败。
为什么要用ETL工具?
在数据处理的时候,我们有时会遇到这些问题:
- 当数据来自不同的物理主机,这时候如使用SQL语句去处理的话,就显得比较吃力且开销也更大。
- 数据来源可以是各种不同的数据库或者文件,这时候需要先把他们整理成统一的格式后才可以进行数据的处理,这一过程用代码实现显然有些麻烦。
- 在数据库中我们当然可以使用存储过程去处理数据,但是处理海量数据的时候存储过程显然比较吃力,而且会占用较多数据库的资源,这可能会导致数据资源不足,进而影响数据库的性能。
而上述遇到的问题,我们用ETL工具就可以解决。ETL工具具有以下几点优势:
- 支持多种异构数据源的连接。(部分)
- 图形化的界面操作十分方便。
- 处理海量数据速度快、流程更清晰等。
ETL工具介绍
1.Datastage
IBM公司的商业软件,专业的ETL工具,但同时价格不菲,适合大规模的ETL应用。
使用难度:★★★★
2.Taskctl
商业软件,国产专业的ETL工具平台。价格上比Datastage便宜很多,适合大规模的ETL应用。
使用难度:★★★
3.Taskctl Web版
免费,在商业版 Taskctl 6.0 基础上纵向扩展而来,可跨多平台适合中小企业IT自动化类系统建和数据开发人员,如数据系统批量调度自动化、系统运维自动化、企业数据资产监控等等
使用难度:★
4.Kettle
免费,最著名的开源产品,是用纯java编写的ETL工具,只需要JVM环境即可部署,可跨平台,扩展性好。
使用难度:★★
三种ETL工具的对比
Datastage、Taskctl、Kettle三个ETL工具的特点和差异介绍:
1.操作
这三种ETL工具都是属于比较简单易用的,主要看开发人员对于工具的熟练程度。
2.部署
Kettle只需要JVM环境,Taskctl 需要服务器和客户端安装,而 Datastage 的部署比较耗费时间,有一点难度。
3.数据处理的速度
大数据量下 Taskctl 与 Datastage 的处理速度是比较快的,比较稳定。Kettle的处理速度相比之下稍慢。
4.服务
Taskctl 与 Datastage 有很好的商业化的技术支持,而 Kettle 则没有。商业软件的售后服务上会比免费的开源软件好很多。
5.风险
风险与成本成反比,也与技术能力成正比。
6.扩展
Kettle的扩展性无疑是最好,因为是开源代码,可以自己开发拓展它的功能,而 Taskctl 和Datastage 由于是商业软件,基本上不支持。
7.Job的监控
三者都有监控和日志工具。
在数据的监控上,个人觉得 Taskctl 的实时监控做的更加好,可以直观看到数据抽取的情况,运行到哪一个控件上。这对于调优来说,我们可以更快的定位到处理速度太慢的控件并进行处理,而 Datastage 也有相应的功能,但是并不直观,需要通过两个界面的对比才可以定位到处理速度缓慢的控件。有时候还需要通过一些方法去查找。
8.网上的技术服务支持
Kettle< Datastage < Taskctl 相对来说,Kettle 在遇到问题去网上快速找到解决方法的概率比较低,只有通过网上翻阅技术文档和加入社群询问,效率比较低;而相比 Datastage 和 Taskctl 则比较完善、由于是商业软件,网上不仅有完善的技术文档,24小时线上还有技术远程支持答疑人员。
项目经验分享
在项目中,很多时候我们都需要同步生产库的表到数据仓库中。一百多张表同步、重复的操作,对开发人员来说是细心和耐心的考验。在这种情况下,开发人员最喜欢的工具无疑是 kettle,多个表的同步都可以用同一个程序运行,不必每一张表的同步都建一个程序,而 Taskctl 虽然有提供工具去批量设计,但还是需要生成多个程序进行一一配置,而 datastage 在这方面就显得比较笨拙。
在做增量表的时候,每次运行后都需要把将最新的一条数据操作时间存到数据库中,下次运行我们就取大于这个时间的数据。Kettle 和 Taskctl 有控件可以直接读取数据库中的这个时间置为变量。
有一句话说的好:世上没有最好的,只有适合的!
每一款ETL工具都有它的优缺点,我们需要根据实际项目,权衡利弊选择适合的ETL工具,合适的就是最好的。当下越来越多公司及其客户更重视最新的数据(实时数据)展现,传统的ETL工具可能满足不了这样的需求,而实时流数据处理和云计算技术更符合。所以我们也需要与时俱进,学习大数据时代下的ETL工具。
相关推荐
主要介绍了数据挖掘知识,体系结构和应用!
10万级etl批量作业调度工具Taskctl之轻量级Web应用版.docx
中文版 数据仓库ETL工具箱
数据仓库ETL工具箱 Data Warehouse ETL Toolkit
ETL工具 ,基于Kettle实现的Web版ETL工具,实现简单的数据抓取功能
数据仓库ETL工具箱 Data Warehouse ETL Toolkit.rar
ETL Automation 是由 Teradata 公司发布的 ETL 流程调度产品,使用 JAVA 程序开发,支持跨平台部署,安装、维护简单。
北京灵蜂ETL工具 高端系列 BeeDI V10.0 技术白皮书 2021版 涵盖 产品功能:数据转换、数据联邦、数据同步、大数据集成、Kafka消息流、Web交互、文件同步、工作流调度、Web集成、脚本调度、作业调度、远程调度、集群...
etl工具箱 中文版etl工具箱 中文版etl工具箱 中文版
Kettle 是一款开源的、元数据驱动的ETL工具集,是开源 ETL 工具里功能比较强大的一个。 Kettle 是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计 用来帮助你实现你的ETTL 需要:抽取、转换、...
ETL工具下载,本人博客有简单操作手册,如有问题请谅解,
kettle中文版,一个很好用的etl工具 kettle是几乎全部数据库,数据流可视化操作工具,简单上手,轻松易学
ETL工具相关信息整理,包含ETL基本架构,Kettle工具基本使用,常用ETL工具对比等
ETL工具对比分析,good
数据仓库ETL工具箱(data warehouse ETL tool kits),翻译的很一般
阿里开源ETL工具DATAX
一款纯国产自研核心Java语言开发的ETL工具(非包装开源—Beeload),Beeload所有功能均可图形化配置,无需额外写代码实现,如Kettle中的增量抽取功能需写代码。当下各所院校内部各部门各自为政,需数据共享,信息...
本书作者是由Ralph Kimball博士所著,抽取-转换-加载(ETL)系统是数据仓库的基础。从本书中,你将可以学到:(1)规划&设计你的ETL系统; (2)从多种可能的架构中选出最合适的; (3)对实施过程进行管理; (4...