ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,因而也称为数据仓库技术。其目的是将分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
可以看出,ETL要做三部分工作,数据抽取、数据的清洗转换和数据的加载。数据抽取一般是通过工具从各个不同的数据源抽取到一个中间层中,其中可以做一些数据的清洗和转换,这个过程要注意抽取效率。数据清洗是指将不符合要求的数据除掉,包括错误数据、不完整数据、重复数据。数据转换要做的工作是把所有数据的模板、标准、计算规则等进行统一,如存储结构、数据编码等。清洗转换好的数据按着标准的ETL架构存储到数据仓库中,以备进行数据分析和决策。
可以看出,ETL是BI重要的一个环节,是进行数据分析的基础。数据仓库构建好后,才有可能基于数据仓库来构建分析模型并根据需求展现最终的结果。做好一个BI项目,其中很大一部分工作是ETL,ETL的质量决定了BI是否成功。有的BI工具本身就带着ETL功能,实际上是把前期和后期工作整合到一起了。当然专门的ETL工具就有很多,完全可以满足BI的需要,因而在工作中除了要考虑工具的性能、效率,还要考虑项目的成本,经济也是必须考虑的因素。实际上ETL不仅是BI的基础,也是报表工具的基础。报表工具价格比较廉,如FINE、RAQ、皕杰报表的价格与BI比起来实在算不了什么,所以也就不与ETL一起说事儿了。