ETL是数据仓库中非常重要的一步,也是承前启后的关键所在。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
下面给大家介绍一下什么是ETL以及ETL常用的三种工具——Datastage,Taskctl,Kettle。
什么是ETL?
ETL,全称为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工具,可跨渠道,扩展性也不错。
运用难度:★★
推荐的这几款ETL工具了,每一款都有自己的优缺点,找到最适合自己的才能让你的工作事半功倍!