最近有朋友留言,问到大数据ETL到底是什么?它主要是做什么的?这几天我就抽空整理一下,陆续分享给大家供参考了解
ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。 ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
可以看出,ETL要做三部分工作,数据抽取、数据的清洗转换和数据的加载。数据抽取一般是通过工具从各个不同的数据源抽取到一个中间层中,其中可以做一些数据的清洗和转换,这个过程要注意抽取效率。数据清洗是指将不符合要求的数据除掉,包括错误数据、不完整数据、重复数据。数据转换要做的工作是把所有数据的模板、标准、计算规则等进行统一,如存储结构、数据编码等。清洗转换好的数据按照标准的ETL架构存储到数据仓库中,以备进行数据分析和决策。
ETL是实现商务智能(BI)的核心。一般情况下,ETL会花费整个BI项目1/3的时间,因此ETL设计的好坏直接影响到BI项目的成败。
企业中常用的ETL实现有多种方式,常见的方式如下:
1、借助ETL工具(如Pentaho Kettle、Informatic等)。
2、编写SQL语句。
3、将ETL工具和SQL语句结合起来使用。
上述3种实现方式各有利弊,其中第1种方式可以快速建立ETL工程,屏蔽复杂的编码任务、加快速度和降低难度,但是缺少灵活性;第2种方式使用编写SQL语句的方式很是灵活,可以提高ETL的运行效率,但是编码复杂,对技术要求比较高;第3种方式综合了前面两种方式的优点,可以极大地提高ETL的开发速度和效率。
ETL体系结构
ETL主要是用来实现异构数据源数据集成的。多种数据源的所有原始数据大部分未做修改就被载入ETL,因而,无论数据源在关系型数据库、非关系型数据库,还是在外部文件,集成后的数据都将被置于数据库的数据表或数据仓库的维度表中,以便在数据库内或数据仓库中做进一步转换。因此,一般会将最终的数据存储到数据库或者数据仓库中。ETL的体系结构图图如下:
ETL的结构图
数据仓库中的数据清洗工作主要还是数据转换的时候进行。清洗好的数据将保存到目标数据库中,用于后续的数据分析,数据挖掘以及商业智能。
今天就先分享到这里吧,对于之前没有接触过的朋友来说不着急,先有个大致印象即可,后续会再多分享一些这方面的话题做参考,感谢关注,由于整理时间仓促,上述观点如有错误欢迎指正
免责声明:
本公众号所载文章为本公众号原创或根据网络搜索下载编辑整理,文章版权归原作者所有,仅供读者学习、参考。如有侵权,请跟我们联系删除,谢谢!