ETL 简介

什么是 ETL?

ETL 代表 提取转换和加载。 ETL 将所有三个数据库功能组合到一个工具中,以从一个数据库中获取数据并将其放入另一个数据库中。

提取: 提取是从数据库中获取(读取)信息的过程。在这个阶段,数据是从多个或不同类型的来源收集的。

转换: 转换是将提取的数据从其先前的形式转换为所需的形式。数据可以放入另一个数据库。可以通过使用规则或查找表或将数据与其他数据组合来进行转换。

加载: 加载是将数据写入目标数据库的过程。

ETL用于在提取、转换和加载三个步骤的帮助下整合数据,它用于混合来自多个来源的数据。它通常用于构建数据仓库。

在ETL过程中,从源系统中提取数据并转换成可以检查的格式并存储到数据仓库 或任何其他系统。 ETL 是一种替代但相关的方法,旨在将处理下推到数据库以提高性能。

 

示例:

我们正在举一个例子零售店有销售、市场、物流等不同部门,每个部门都独立处理客户的信息,每个百货公司处理数据的方式也大不相同。销售部门按客户名称存储,营销部门按客户 ID 存储。现在,如果我们想查看客户的历史记录并想知道他/她因各种活动购买了哪些不同的产品;

对此的解决方案是使用数据仓库将来自不同来源的信息存储在使用 ETL 的统一结构中。 ETL 工具从所有这些数据源中提取数据并转换数据(如应用计算、连接字段、删除不正确的数据字段等)并加载到数据仓库中。 ETL 可以将独特的数据集转化为统一的结构。之后,我们将使用 BI 工具从这些数据中找出有意义的报告、仪表板、可视化。

 

ETL 的需要

需要的原因有很多因为ETL正在兴起:

 

  • ETL 可帮助公司分析其业务数据,以做出关键业务决策。
  • 数据仓库提供共享数据存储库。
  • ETL 提供了一种将数据从各种来源移动到数据仓库中的方法。
  • 随着数据源的变化,数据仓库会自动更新。
  • 精心设计和记录的 ETL 系统对于数据仓库项目的成功至关重要。
  • 事务型数据库无法回答 ETL 可以解决的复杂业务问题。
  • 精心设计和记录的 ETL 系统对于数据仓库项目的成功至关重要。
  • ETL 过程允许在源系统和目标系统之间进行样本数据比较。
  • ETL 过程可以执行复杂的转换,并且需要额外的区域来存储数据。
  • ETL 有助于将数据迁移到数据仓库中。
  • ETL 是之前定义的一个过程,用于访问和操作源数据到目标数据库中。
  • 出于商业目的,ETL 提供了深刻的历史背景。
  • 它有助于提高工作效率,因为它经过编纂并且无需技术技能即可重复使用。

 

 

ETL 工作

从一个或多个来源提取数据,然后复制到数据仓库。当我们处理大量数据和多源系统时,数据会被整合。 ETL 用于将数据从一个数据库迁移到另一个数据库。 ETL 是需要从数据集市和数据仓库加载数据的过程。 ETL 是一个过程,也用于将数据从一种格式转换为另一种类型。

 

数据仓库中的ETL流程

我们需要定期加载我们的数据仓库,以便它能够起到促进业务分析的作用。需要预期来自一个或多个操作系统的数据并将其复制到数据仓库中。数据仓库面临的挑战是整合和重新排列多年来的大量数据。从源系统中提取数据并将其带入数据仓库的过程通常称为 ETL。 ETL 的方法论和任务已为人所知多年。数据必须在尝试集成它们的应用程序或系统之间共享。

ETL 是一个三步过程:

什么是 ETL

 

1.提取

在此步骤中,将数据从源系统提取到ETL 服务器或暂存区。在此区域进行转换,以便不降低源系统的性能。如果将损坏的数据从源系统直接复制到数据仓库中,回滚将是一个挑战。暂存区允许在提取的数据进入数据仓库之前对其进行验证。

需要将系统集成到具有不同 DBMS、硬件、操作系统和通信协议的数据仓库中。在物理提取和加载数据之前,这里需要一个逻辑数据映射。此数据映射描述了源数据和目标数据之间的所有关系。

提取数据的方法有三种。

 

  • 完全提取
  • 部分提取-无更新通知
  • 部分提取-有更新通知

 

无论我们使用任何提取方法,都不应影响源系统的性能和响应时间。这些源系统是实时生产系统。

提取过程中的验证:

 

  • 用源数据确认记录
  • 应检查数据类型
  • 它会检查所有的钥匙是否到位
  • 我们必须确保没有加载垃圾邮件/不需要的数据
  • 删除所有类型的片段和重复数据。

 

 

2.转换

从源服务器提取的数据是原始数据,不能以其原始形式使用。因此,应该对数据进行映射、清理和转换。转换是 ETL 过程添加值和更改数据(例如可以生成 BI 报告)的重要步骤。

在此步骤中,我们对提取的数据应用一组函数。不需要任何转换的数据称为直接移动或传递数据。

在这一步中,我们可以对数据进行自定义操作。例如,表中的名字和姓氏在不同的列中,可以在加载之前将它们连接起来。

转换期间的验证:

 

  • 过滤: 加载时只选择特定的列
  • 字符集转换和编码处理
  • 数据阈值和验证检查
  • 例如,年龄不能超过两位数
  • 必填字段不应留空。
  • 转置行和列。
  • 合并数据使用查找

 

 

3.加载

将数据加载到数据仓库是ETL过程的最后一步。海量数据需要在短时间内加载到数据仓库中。为了提高性能,应该优化加载。

如果加载失败,应该有恢复机制从失败点重新启动,而不会丢失数据完整性。数据仓库管理员需要根据服务器性能监控、恢复和取消加载。

加载类型

 

  • 初始加载- 填满整个数据仓库表
  • 增量加载-在需要时应用更改。
  • 完全刷新-擦除一个或多个表的内容并重新加载新数据。

 

 

总结

 

  • ETL 被称为提取、加载和转换。
  • ETL 提供了将数据从各种来源移动到数据仓库中的方法。
  • 第一步包括将数据从源系统提取到暂存区。
  • 转换步骤包括对从源中提取的数据进行清理和转换。
  • 将数据加载到数据仓库是 ETL 过程的最后一步。

 

ETL 代表提取、转换和加载。在当今的数据仓库世界中,该术语扩展到 E-MPAC-TL 或提取、监控、配置文件、分析、清理、转换和加载。换句话说,ETL 专注于数据质量和元数据。 Extraction抽取的主要目标是 ...