翻译自:https://www.tutorialspoint.com/etl_testing/etl_testing_introduction.htm
在数据仓库中的数据是用一个ETL(抽取,转换,加载)工具加载的。如字面意思,它需要下面的操作:
- 从事务系统像Oracle,MySql或者其他的关系型数据库抽取数据
- 通过数据清理操作转换数据
- 加载数据到OLAP数据仓库
你也可以是用ETL工具从平面文件中像spreadsheets和CSV文件抽取数据,然后加载它到OLAP数据仓库中方便分析和报告。让我们举一个例子来更好的理解它。
例子
让我们假设有一个制造公司有销售,人力资源,材料管理,EWM等多个部门,所有这些部门都有独立的数据库,用于维护信息的工作,每个数据库都有不同的技术,landscape,表格名称,列等。现在,如果公司想要分析历史数据并生成报告,那么这些数据源的所有数据都应该被提取并加载到数据仓库中以将其保存以进行分析工作。
ETL工具从所有这些异构数据源中提取数据,转换数据(如应用计算,连接字段,密钥,删除不正确的数据字段等),并将其加载到数据仓库中。之后,您可以使用各种商业智能(BI)工具,使用此数据生成有意义的报告,仪表板和可视化。
ETL和BI工具之间的区别
一个ETL工具常常从不同的数据源抽取数据,转换数据,然后加载到DW系统;然而一个BI的工具常常用于为最终用户生成交互式和特别的报告,高级管理仪表盘,月度,季度和年度董事会议的数据可视化。
最常见的ETL工具包括-SAP BO Data Services (BODS), Informatica – Power Center, Microsoft – SSIS, Oracle Data Integrator ODI, Talend Open Studio, Clover ETL Open source等等。
一些流行的BI工具包括− SAP Business Objects, SAP Lumira, IBM Cognos, JasperSoft, Microsoft BI Platform, Tableau, Oracle Business Intelligence Enterprise Edition等等。
ETL流程
让我们更详细地讨论下一些ETL程序关键步骤
抽取数据
它涉及到从不同的异构数据源中抽取数据。交易系统的数据抽取根据需求和使用的ETL工具而异。它通常通过在营业时间运行定好的任务,像在晚上或者在周末的运行任务。
转换数据
它涉及将数据转换成可以容易的加载到DW系统中的合适的格式。数据转换在数据上的应用计算,连接和定义主键和外键。例如,如果想要的总收入百分比数据不再数据库中,你可以用在转换中用百分比公式并且加载数据。同样,如果有姓和名在不同的列中,然后你可以在加载数据前用一个连接操作。一些数据不需要任何转换,这些数据称为直接移动或通过数据。
数据转换也涉及数据修正和清理,移除不正确的数据,不完整的数据形成,以及修复数据错误。它也包括数据的完整性和格式化不兼容的数据,然后加载到DW系统。
加载数据到DW系统
它涉及加载数据到DW系统进行分析报告和信息。目标系统可以是一个简单分隔的平面文件或者数据仓库。
ETL工具功能
一个典型的基于ETL的数据仓库使用阶段区域,数据整合以及入口层来表现它的功能。它通常是3层结构。
- Staging Layer - 分级层或分级数据库用于存储从不同源数据系统抽取的数据
- Data Integration Layer - 数据集成层从分级层转换并且将数据移动到数据库,这些数据排列成层次结构,经常称为** dimensions(维度),以及facts(事实)和aggregate facts(聚合事实)。在DW系统中事实表和维度表的组合称为schema**(模式)。
- Access Layer - 接入层通常被最终用户使用于分析报告和信息。
下面插图展示了这三层是如何互相交互的。