ETL 架构

17 Mar 2025 | 4 分钟阅读

ETL 代表提取 (Extract)、转换 (Transform) 和加载 (Load)。在当今的数据仓库世界中,这个术语扩展为 E-MPAC-TL,即提取 (Extract)、监控 (Monitor)、分析 (Profile)、分析 (Analyze)、清洗 (Cleanse)、转换 (Transform) 和加载 (Load)。换句话说,ETL 侧重于数据质量和元数据。

ETL Architecture

提取

提取的主要目标是从源系统尽快收集数据,并且尽量减少对这些源系统造成的不便。它还指出,应根据源日期/时间戳、数据库日志表或混合情况选择最适用的提取方法。

ETL Architecture

转换和加载

转换和加载数据是为了整合数据,并将组合后的数据最终移动到表示层,最终用户社区可以通过前端工具访问该表示层。 在这里,重点应该放在 ETL 工具提供的功能以及如何最有效地使用它。 仅仅使用 ETL 工具是不够的。 在中型到大型的数据仓库环境中,重要的是尽可能标准化数据,而不是进行自定义。 ETL 将减少从不同源到目标开发活动的处理时间,这些活动构成了传统 ETL 工作的主要部分。

监控

数据监控能够验证在整个 ETL 过程中移动的数据,并且有两个主要目标。 首先,应该对数据进行筛选。 尽可能地筛选传入数据与不过度检查而减慢整个 ETL 过程之间应该保持适当的平衡。 在这里,可以使用 Ralph Kimbal 筛选技术中使用的由内而外的方法。 这种技术可以一致地捕获所有错误,它基于一组预定义的元数据业务规则,并可以通过一个简单的星型模式报告这些错误,从而可以查看数据质量随时间的演变。 其次,我们应该关注 ETL 性能。 此元数据信息可以插入到所有维度和事实表中,并且可以称为审计维度。

质量保证

质量保证是不同阶段之间的一个过程,可以根据需要定义,这些过程可以检查值的完整性;在不同的 ETL 阶段之间,我们是否仍然具有相同数量的记录或特定度量的总和? 此信息应捕获为元数据。 最后,应该预测整个 ETL 过程(包括产生的错误记录)中的数据沿袭。

数据画像

它用于生成关于源的统计信息。数据分析的目标是了解源。数据分析将使用分析技术来发现数据的实际内容、结构和质量,方法是分析和验证数据模式和格式,以及识别和验证跨数据源的冗余数据。 必须使用正确的工具来自动执行此过程。 它提供了大量的各种数据。

数据分析

为了分析分析后的数据结果,使用数据分析。 对于分析数据,更容易识别数据质量问题,例如缺失数据、不一致的数据、无效数据、约束问题、父子问题(例如孤立记录)、重复数据。 正确捕获此评估的结果至关重要。 数据分析将成为源团队和数据仓库团队之间解决未解决问题的沟通媒介。 源到目标映射在很大程度上取决于源分析的质量。

源分析

在源分析中,重点不仅应放在源上,还应放在周围环境上,以获取源文档。 源应用程序的未来取决于原始数据的当前数据问题、相应的数据模型/元数据存储库,以及源所有者对源模型和业务规则的演练。 建立与源所有者的频繁会议至关重要,以便检测可能影响数据仓库和相关 ETL 过程的更改。

数据清洗

在本节中,可以修复发现的错误,这些错误基于一组预定义规则的元数据。 在这里,需要在完全或部分拒绝的记录之间进行区分,并允许手动更正问题,或者通过更正不准确的数据字段、调整数据格式等来修复数据。

E-MPAC-TL 是一个扩展的 ETL 概念,它试图平衡系统、工具、元数据、技术问题、约束以及最重要的数据本身的需求与现实。


下一个主题ETL 测试工具