
点击上方蓝字关注我们

什么是ETL
先放上一段百度百科的解释:
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关系到BI项目的成败。
ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换,在抽取的过程中需要挑选不同的抽取方法,尽可能地提高ETL的运行效率。ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换),一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW(Data Warehousing,数据仓库)中去。
ETL工具
当数据来自不同的物理主机,这时如果使用SQL语句去处理,就显得比较吃力且开销也大。 数据来源可以是各种不同的数据库或者文件,这时候需要先把他们整理成统一的格式后才可以进行数据的处理,这一过程用代码实现显然有些麻烦。 在数据库中我们可以使用存储过程去处理数据,但是处理海量数据的时候存储过程显然比较吃力,而且会占用较多数据库的资源,这可能会导致数据资源不足,进而影响数据库的性能。
支持多种异构数据源的连接。 图形化的界面操作十分方便。 处理海量数据速度快、流程更清晰等。
ETL工具介绍及对比
ETL常用工具有三种——Informatica、Kettle和Datastage,在工作中有幸接触到了前两种工具,下面就这两个工具做些简要介绍及特点的对比。
1. Informatica
商业软件,相当专业的ETL工具,适合大规模的ETL应用。官方描述道:借助Informatica全面、统一、开放且经济的数据管理平台,组织可以在改进数据质量的同时,访问、发现、清洗、集成并交付数据,以提高运营效率并降低运营成本。
免费,最著名的开源产品。纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。
操作
Informatica有四个开发管理组件,开发的时候我们需要打开其中三个进行开发,Informatica没有Ctrl + z的功能,如果对job作了改变之后,想要撤销,返回到改变前是不可能的;相比Kettle在开发时则较为简便,步骤可撤销,仅在测试调试的时候不太方便。
部署
Kettle只需要JVM环境,而Informatica需要服务器和客户端安装。
数据处理的速度
大数据量下Informatica的处理速度较快且稳定,Kettle的处理速度相比之下稍慢。
服务
Informatica有很好的商业化的技术支持,而Kettle则没有;遇到问题只能依靠度娘或论坛求助。商业软件的售后服务上会比免费的开源软件好很多。
扩展
Kettle的扩展性毋庸置疑,因为是开源代码,可以自己开发拓展它的功能,而Informatica由于是商业软件,基本上没有。
网上的技术文档
Informatica < Kettle,相对来说,Informatica在遇到问题去网上找到解决方法的概率比较低,Kettle则比较多。
项目经验分享
在项目中,很多时候我们都需要同步生产库的表到数据仓库中。一百多张表同步、重复地操作,对开发人员来说是细心和耐心的考验。在这种情况下,最便捷的工具无疑是Kettle,多个表的同步都可以用同一个程序运行,不必每一张表的同步都建一个程序,而Informatica虽然有提供工具去批量设计,但还是需要生成多个程序进行一一配置。
在做增量表的时候,每次运行后都需要把将最新的一条数据操作时间存到数据库中,下次运行我们就取大于这个时间的数据。Kettle有控件可以直接读取数据库中的这个时间置为变量;对于没有类似功能控件的Informatica,我们的做法是先读取的数据库中的这个时间存到文件,然后主程序运行的时候指定这个文件为参数文件,也可以得到同样的效果。


俗话说的好:世上没有最好的,只有适合的!
每一款ETL工具都有它的优缺点,我们需要根据实际项目,权衡利弊选择适合的ETL工具,合适的就是最好的。当下越来越多公司及其客户更重视最新的数据(实时数据)展现,传统的ETL工具可能满足不了这样的需求,而实时流数据处理和云计算技术更符合。所以我们也需要与时俱进,学习大数据时代下的ETL工具。

扫描二维码获取
更多精彩
光证数科

点个在看你最好看




