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 是一个三步过程:
1.提取
在此步骤中,将数据从源系统提取到ETL 服务器或暂存区。在此区域进行转换,以便不降低源系统的性能。如果将损坏的数据从源系统直接复制到数据仓库中,回滚将是一个挑战。暂存区允许在提取的数据进入数据仓库之前对其进行验证。
需要将系统集成到具有不同 DBMS、硬件、操作系统和通信协议的数据仓库中。在物理提取和加载数据之前,这里需要一个逻辑数据映射。此数据映射描述了源数据和目标数据之间的所有关系。
提取数据的方法有三种。
- 完全提取
- 部分提取-无更新通知
- 部分提取-有更新通知
无论我们使用任何提取方法,都不应影响源系统的性能和响应时间。这些源系统是实时生产系统。
提取过程中的验证:
- 用源数据确认记录
- 应检查数据类型
- 它会检查所有的钥匙是否到位
- 我们必须确保没有加载垃圾邮件/不需要的数据
- 删除所有类型的片段和重复数据。
2.转换
从源服务器提取的数据是原始数据,不能以其原始形式使用。因此,应该对数据进行映射、清理和转换。转换是 ETL 过程添加值和更改数据(例如可以生成 BI 报告)的重要步骤。
在此步骤中,我们对提取的数据应用一组函数。不需要任何转换的数据称为直接移动或传递数据。
在这一步中,我们可以对数据进行自定义操作。例如,表中的名字和姓氏在不同的列中,可以在加载之前将它们连接起来。
转换期间的验证:
- 过滤: 加载时只选择特定的列
- 字符集转换和编码处理
- 数据阈值和验证检查
- 例如,年龄不能超过两位数
- 必填字段不应留空。
- 转置行和列。
- 合并数据使用查找
3.加载
将数据加载到数据仓库是ETL过程的最后一步。海量数据需要在短时间内加载到数据仓库中。为了提高性能,应该优化加载。
如果加载失败,应该有恢复机制从失败点重新启动,而不会丢失数据完整性。数据仓库管理员需要根据服务器性能监控、恢复和取消加载。
加载类型
- 初始加载- 填满整个数据仓库表
- 增量加载-在需要时应用更改。
- 完全刷新-擦除一个或多个表的内容并重新加载新数据。
总结
- ETL 被称为提取、加载和转换。
- ETL 提供了将数据从各种来源移动到数据仓库中的方法。
- 第一步包括将数据从源系统提取到暂存区。
- 转换步骤包括对从源中提取的数据进行清理和转换。
- 将数据加载到数据仓库是 ETL 过程的最后一步。
下一章:ETL 架构
ETL 代表提取、转换和加载。在当今的数据仓库世界中,该术语扩展到 E-MPAC-TL 或提取、监控、配置文件、分析、清理、转换和加载。换句话说,ETL 专注于数据质量和元数据。 Extraction抽取的主要目标是 ...