什么是 ETL(提取、转换、加载)?
深入了解 IBM 的 ETL 解决方案 订阅 AI 主题最新消息
黑色和蓝色背景
什么是 ETL?

ETL 表示提取转换、加载,是一个存在已久的数据集成流程,用于将多个来源的数据组合成单个一致的数据集,以便加载到数据仓库数据湖或其他目标系统中。

随着数据库在 20 世纪 70 年代越来越受欢迎,ETL 流程出现,用于集成和加载数据以进行计算和分析,并最终成为数据仓库项目中处理数据的主要方法。

ETL 为数据分析和机器学习工作流奠定了基础。借助一系列业务规则,ETL 能够以满足特定商业智能需求的方式来清理和组织数据(例如月度报告),同时它还可以处理更高级的分析,从而改善后端流程或最终用户体验。组织通常使用 ETL 来:

  • 从旧版系统中提取数据
  • 清理数据以提高数据质量并建立一致性
  • 将数据加载到目标数据库
学习和操作 Presto

浏览免费的 O'Reilly 电子书,以了解如何开始使用 Presto,一款用于数据分析的开源 SQL 引擎。

相关内容

立即注册,获取 AI 治理白皮书

ETL 与 ELT

ETL 和 ELT 之间最明显的区别是操作顺序的不同。ELT 从源位置复制或导出数据,但不是将其加载到暂存区域进行转换,而是将原始数据直接加载到目标数据存储,以根据需要进行转换。

虽然这两个流程都利用了各种数据存储库,例如数据库、数据仓库和数据湖,但每个流程都有其优点和缺点。ELT 对于大容量、非结构化数据集特别有用,因为可以直接从源加载。ELT 更适合大数据管理,因为它不需要为数据提取和存储进行太多的前期规划。

另一方面,ETL 流程在一开始就需要更多的定义。需要为数据提取确定特定数据点以及任何潜在的“密钥”,以便在不同的源系统之间集成。即使在这项工作完成后,还需要构建数据转换的业务规则。这项工作通常依赖于特定类型数据分析的数据需求,该需求将决定数据需要具有的汇总级别。

虽然随着云数据库的采用,ELT 变得越来越受欢迎,但作为一个较新的流程,它也有自己的缺点,同时意味着最佳实践仍在建立之中。

ETL 的工作原理

要了解 ETL 的工作原理,最简单的方法就是了解流程中每一步都发生了什么。

提取

在数据提取过程中,原始数据将从源位置复制或导出到暂存区域。数据管理团队可以从各种结构化或非结构化数据源中提取数据。这些来源包括但不限于:

  • SQL 或 NoSQL 服务器
  • CRM 和 ERP 系统
  • 平面文件
  • 电子邮件
  • 网页

转换

在暂存区,会对原始数据进行数据处理。在这里,数据得到转换和整合,以用于其预期的分析用例。此阶段可能涉及以下任务:

  • 过滤、清理、去重、验证和认证数据。
  • 基于原始数据进行计算、转换或汇总。这可能包括更改行标题和列标题以保持一致性、转换货币或其他计量单位、编辑文本字符串等。
  • 进行审计以确保数据质量和合规性。
  • 删除、加密或保护受行业或政府监管机构管理的数据。
  • 将数据格式化为表或联接表,以匹配目标数据仓库的模式。

加载

在这最后一步中,将转换后的数据从暂存区域移至目标数据仓库。通常,这涉及到对所有数据进行初始加载,然后定期加载增量数据变化,偶尔需要进行完全刷新以擦除和替换仓库中的数据。对于大多数使用 ETL 的组织而言,该流程是一个自动化流程,且定义明确、可连续执行和批量驱动。通常,ETL 发生在非工作时间,此时源系统和数据仓库的流量最低。

ETL 和其他数据集成方法

ETL 和 ELT 只是两种数据集成方法,还有其他方法也可用于促进数据集成工作流。其中包括:

  • 变更数据捕获 (CDC) 仅识别和捕获已发生变更的源数据,并将该数据移动到目标系统。CDC 可用于减少 ETL 的“提取”步骤所需的资源,它还可以独立用于将已转换的数据实时移动到数据湖或其他存储库。
  • 数据复制 将数据源中的更改实时或批量复制到中央数据库。数据复制通常被列为一种数据集成方法。事实上,它最常用于创建灾难恢复备份。
  • 数据虚拟化使用软件抽象层来创建一个统一、集成、完全可用的数据视图,而无需将源数据实际复制、转换或加载到目标系统。数据虚拟化功能使企业能够利用相同的数据存储源数据创建虚拟数据仓库、数据湖和数据集市,而无需为每个数据仓库、数据湖和数据集市建立和管理单独的平台,从而降低了成本和复杂性。虽然数据虚拟化可以与 ETL 一起使用,但它越来越被视为 ETL 和其他物理数据集成方法的替代方案。
  • 流数据集成 (SDI) 顾名思义,它可以持续实时使用数据流,对其进行转换,并将其加载到目标系统进行分析。这里的关键词是持续。SDI 不是在特定时间集成从数据源提取的数据快照,而是在数据可用时不断进行集成。SDI 支持数据存储,为分析、机器学习和实时应用程序提供动力,以改善客户体验、欺诈检测等。
ETL 的优势和面临的挑战

ETL 解决方案在将数据加载到不同存储库之前会执行数据清理,以此来提高质量。ETL 是一种耗时的批处理操作,通常用于创建需要较少更新的较小目标数据存储库,而其他数据集成方法 – 包括 ELT(提取、加载和转换)、变更数据捕获 (CDC) 和数据虚拟化 – 则用于集成越来越大且发生变更的数据或实时数据流。

 

了解有关数据集成的更多信息
ETL 工具

过去,组织自己编写 ETL 代码。现在有许多开源和商用 ETL 工具和云服务可供选择。这些产品的典型功能包括:

  • 全面自动化且易于使用:领先的 ETL 工具可自动执行从数据源到目标数据仓库的整个数据流。许多工具都会推荐提取、转换和加载数据的规则。
  • 可视化的拖放界面: 此功能可用于指定规则和数据流。
  • 支持复杂的数据管理:这包括协助复杂的计算、数据集成和字符串操作。
  • 安全性和合规性:最好的 ETL 工具会对动态和静态数据进行加密,并经过认证符合行业或政府法规(例如 HIPAA 和 GDPR)。

此外,许多 ETL 工具已经发展到包含 ELT 功能,并支持面向人工智能 (AI) 应用程序的实时数据和流数据集成

集成的未来 - 使用 EAI 的 API

使用企业应用集成 (EAI) 的应用程序编程接口 (API) 可以代替 ETL,以获得更灵活、可扩展的解决方案,其中包括工作流集成。虽然 ETL 仍然是主要的数据集成资源,但在基于 web 的环境中 EAI 越来越多地与 API 配合使用。

相关解决方案
IBM Cloud Pak for Data

IBM Cloud Pak for Data 是一个开放的、可扩展的数据平台,它提供了一个数据结构,使所有数据在任何云上都可用于 AI 和分析。

了解 IBM Cloud Pak for Data
IBM DataOps

AI 正在以新的方式释放数据的价值。利用 DataOps 解决方案整理您的数据,使其为 AI 和多云世界做好准备。

深入了解 IBM DataOps
数据集成

借助数据集成,您可以转换结构化和非结构化数据,并将其提供给可扩展的大数据平台上的任何系统。

深入了解数据集成
资源 将 Hive 用作 ETL 或 ELT 工具

了解如何提取、转换和加载,或者提取、加载然后转换,同时学习使用此工具轻松处理和分析大型数据集的方法。

ELT 与 ETL:有什么区别?

了解 ELT 和 ETL 在定义、优势和用例方面的异同。

使用 Node-RED 实施 ETL 流程

通过 Node-RED 发现 ETL 流的强大功能并了解如何简化、实施和自动化这些关键流程并释放数据的全部潜力。

采取后续步骤

IBM DataStage 是一款行业领先的数据集成工具,可帮助您设计、开发和运行旨在移动和转换数据的作业。从核心功能看,DataStage 支持提取、转换和加载 (ETL) 以及提取、加载和转换 (ELT) 两种模式。

探索 DataStage 免费试用