ETL(抽取、转换和加载)过程

2025年3月17日 | 阅读 3 分钟

什么是 ETL?

从源系统中提取信息并将其导入数据仓库的机制通常称为 ETL,它是 抽取、转换和加载 的缩写。

ETL 过程需要来自包括开发人员、分析师、测试人员、高层管理人员在内的各种利益相关者的积极投入,并且在技术上具有挑战性。

为了保持其作为决策者工具的价值,数据仓库技术需要随着业务变化而变化。 ETL 是数据仓库系统的重复方法(每天、每周、每月),需要敏捷、自动化且文档记录良好。

What is ETL in Datawarehouse

ETL 如何工作?

ETL 由三个独立的阶段组成

What is ETL in Datawarehouse

提取

  • 提取是从源系统提取信息以供在数据仓库环境中进一步使用的操作。 这是 ETL 过程的第一阶段。
  • 提取过程通常是 ETL 中最耗时的任务之一。
  • 源系统可能很复杂且文档记录不完善,因此确定需要提取哪些数据可能很困难。
  • 必须定期多次提取数据,以便将所有更改的数据提供给仓库并使其保持最新状态。

清洗

清洗阶段在数据仓库技术中至关重要,因为它应该提高数据质量。 在 ETL 工具中找到的主要数据清洗功能是纠正和同质化。 他们使用特定的词典来纠正打字错误并识别同义词,以及使用基于规则的清洗来执行特定于领域的规则并定义值之间的适当关联。

以下示例显示了数据清理的必要性

如果企业希望联系其用户或供应商,则必须提供完整、准确和最新的联系地址、电子邮件地址和电话号码列表。

如果客户或供应商打电话,响应的工作人员应该能够快速在企业数据库中找到该人,但这需要来电者的姓名或他/她的公司名称已在数据库中列出。

如果用户在数据库中出现两个或多个略有不同的名称或不同的帐号,则很难更新客户的信息。

转换

转换是协调阶段的核心。 它将记录从其操作源格式转换为特定的数据仓库格式。 如果我们实施三层架构,则此阶段会输出我们的协调数据层。

在此阶段必须纠正以下几点

  • 松散的文本可能会隐藏有价值的信息。 例如,XYZ PVT Ltd 没有明确表明这是一家有限合伙公司。
  • 不同的格式可以用于各个数据。 例如,数据可以保存为字符串或三个整数。

以下是旨在填充协调数据层的主要转换过程

  • 转换和规范化,它们对存储格式和度量单位进行操作,以使数据统一。
  • 匹配,它将不同来源中的等效字段关联起来。
  • 选择,它减少了源字段和记录的数量。

清洗转换 过程通常在 ETL 工具中紧密相关。

What is ETL in Datawarehouse

加载

加载 是将数据写入目标数据库的过程。 在加载步骤中,必须确保正确执行加载并尽可能少地使用资源。

加载可以通过两种方式进行

  1. 刷新: 数据仓库数据将被完全重写。 这意味着较旧的文件将被替换。 刷新通常与静态提取结合使用,以最初填充数据仓库。
  2. 更新: 只有应用于源信息的更改才会添加到数据仓库中。 更新通常在不删除或修改先前存在的数据的情况下进行。 此方法与增量提取结合使用,以定期更新数据仓库。

选择 ETL 工具

选择合适的 ETL 工具是在选择 ODS 或数据仓库应用程序的重要性时必须做出的重要决定。 需要 ETL 工具来提供对多个数据源的协调访问,以便可以从中提取相关数据。 ETL 工具通常包含用于数据清洗、重组、转换、聚合、计算和将信息自动加载到对象数据库中的工具。

ETL 工具应提供一个简单的用户界面,允许使用点击方法指定数据清洗和数据转换规则。 定义所有映射和转换后,ETL 工具应自动生成数据提取/转换/加载程序,这些程序通常在批处理模式下运行。