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 过程的最后一步。