写点什么

数仓开发人员经常说的 ETL,到底是什么

发布于: 4 小时前

在日常的数据开发交流过程中,会多次提到 ETL 一词,初次听到是一头雾水,这些开发人员口中的 ETL 到底是什么?

其实,ETL 是 Extract、Transform、Load 三个英文单词首字母的简写,中文意为抽取、转换、装载。抽取是指从操作型数据源获得数据;转换指转换数据,使源系统的数据转变为使用与查询和分析的形式和结构;装载是指将转换后的数据导入最终的数据仓库。

建立一个数据仓库,就是将来自多个异构的源系统的数据集成在一起,放置在一个集中的位置用于数据分析及挖掘。其中 ETL 就是将各个源系统的异构数据转换为同构的数据,进而对数据进行分析。


抽取:

抽取操作从源系统获取数据给后续的数据仓库环境使用。这是 ETL 处理的第一步,也是最重要的一步。数据被成功抽取后,才可以进行转换并装载到数据仓库中。能否正确地获取数据直接关系到后面步骤的成败。设计和建立数据抽取过程,在 ETL 处理乃至整个数据仓库处理过程中,一般是较为耗时的任务。源系统很可能非常复杂并且缺少相应的文档,因此只是决定需要抽取哪些数据可能就已经非常困难了。通常数据都不是只抽取一次,而是需要以一定的时间间隔反复抽取,通过这样的方式把数据的所有变化提供给数据仓库,并保持数据的及时性。除此之外,源系统一般不允许外部系统对它进行修改,也不允许外部系统对它的性能和可用性产生影响,数据仓库的抽取过程要能适应这样的需求。


转换:

数据从操作型源系统获取后,需要进行多种转换操作。如统一数据类型、处理拼写错误、消除数据歧义、解析为标准格式等。数据转换通常是最复杂的部分,也是 ETL 开发中用时最长的一步。数据转换的范围极广,从单纯的数据类型转化到极为复杂的数据清洗技术。

在数据转换阶段,为了能够最终将数据装载到数据仓库中,需要在已经抽取来的数据上应用一系列的规则和函数。有些数据可能不需要转换就能直接导入到数据仓库。

数据转换一个最重要的功能是清洗数据,目的是只有“合规”的数据才能进入目标数据仓库。这步操作在不同系统间交互和通信时尤其必要。


装载

ETL 的最后步骤是把转换后的数据装载进目标数据仓库,装载到数据仓库里的数据经过汇总、聚合等处理后交付给多维立方体或数据可视化、仪表盘等报表工具、BI 工具做进一步的数据分析。


发布于: 4 小时前阅读数: 5
用户头像

还未添加个人签名 2018.11.20 加入

还未添加个人简介

评论

发布
暂无评论
数仓开发人员经常说的ETL,到底是什么