ETL 测试 – 简介

数据仓库系统中的数据由 ETL(提取、转换、加载)工具加载。顾名思义,它执行以下三个操作 −

  • 从您的事务系统(可以是 Oracle、Microsoft 或任何其他关系数据库)中提取数据,

  • 通过执行数据清理操作转换数据,然后

  • 将数据加载到 OLAP 数据仓库中。

您还可以使用 ETL 工具从电子表格和 CSV 文件等平面文件中提取数据,并将其加载到 OLAP 数据仓库中进行数据分析和报告。让我们举一个例子来更好地理解它。

示例

假设有一家制造公司,有多个部门,如销售、人力资源、物料管理、EWM 等。所有这些部门都有单独的数据库,用于维护与其工作相关的信息,每个数据库都有不同的技术、环境、表名、列等。现在,如果公司想要分析历史数据并生成报告,则应提取来自这些数据源的所有数据并将其加载到数据仓库中,以保存以供分析工作使用。

ETL 工具从所有这些异构数据源中提取数据,转换数据(如应用计算、连接字段、键、删除不正确的数据字段等),并将其加载到数据仓库中。稍后,您可以使用各种商业智能 (BI) 工具利用这些数据生成有意义的报告、仪表板和可视化效果。

ETL 和 BI 工具之间的区别

ETL 工具用于从不同的数据源提取数据、转换数据并将其加载到 DW 系统中;而 BI 工具用于为最终用户生成交互式和临时报告、为高级管理层生成仪表板、为每月、每季度和每年的董事会会议生成数据可视化效果。

最常见的 ETL 工具包括 − SAP BO 数据服务 (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 工具而异。它通常是通过在非工作时间运行预定的作业来完成的,例如在晚上或周末运行作业。

Extracting Data

转换数据

它涉及将数据转换为合适的格式,以便轻松加载到 DW 系统中。数据转换涉及应用计算、连接以及在数据上定义主键和外键。例如,如果您想要数据库中没有的总收入的百分比,您将在转换中应用百分比公式并加载数据。同样,如果用户的名字和姓氏在不同的列中,那么您可以在加载数据之前应用连接操作。有些数据不需要任何转换;此类数据称为直接移动传递数据

数据转换还涉及数据更正和数据清理、删除不正确的数据、不完整的数据形成以及修复数据错误。它还包括在将不兼容的数据加载到 DW 系统之前对其进行数据完整性和格式化。

将数据加载到 DW 系统

它涉及将数据加载到 DW 系统中以进行分析报告和信息。目标系统可以是简单的分隔平面文件或数据仓库。

ETL 工具功能

典型的基于 ETL 工具的数据仓库使用暂存区、数据集成和访问层来执行其功能。它通常是 3 层架构。

  • 暂存层 −暂存层或暂存数据库用于存储从不同源数据系统提取的数据。

  • 数据集成层 − 集成层转换来自暂存层的数据并将数据移动到数据库,在数据库中,数据被排列成层次结构组(通常称为维度)以及事实聚合事实。DW 系统中的事实表和维度表的组合称为模式

  • 访问层 −访问层由最终用户用来检索数据以生成分析报告和信息。

下图显示了这三个层如何相互作用。

ETL Tool Functions