ETL的全称是什么

2025年3月17日 | 阅读 7 分钟

ETL:提取、转换和加载

ETL代表提取、转换和加载。在计算领域,数据被提取、转换(清理、净化和整理),然后在一个称为提取、转换和加载(ETL)的三步过程中放入输出容器。信息可以从一个或多个提供者那里收集,并输出到一个或多个位置。ETL处理通常由软件程序执行,但系统管理员也可以手动执行。ETL软件通常会自动化整个过程,并且可以用于手动执行单个任务或批处理作业,或自动按预定计划执行。

ETL Full Form

一个构建得当的ETL系统会从源系统获取数据,强制执行数据类型和数据有效性标准,并确保数据在结构上符合输出要求。对于应用程序开发人员创建应用程序和最终用户做出决策,特定的ETL系统也可能以PowerPoint格式提供数据。

ETL技术,常用于数据仓库,在20世纪70年代初开始流行。ETL系统通常会整合来自多个应用程序(方法)的数据,这些应用程序可能托管在不同的计算机硬件上,或者由不同的供应商生产和维护。此外,利益相关者通常会管理和运行包含原始数据的不同系统。例如,成本核算系统可能包含采购、销售和工资信息。

理解每个术语

ETL Full Form

提取(Extract)

数据加载是指将数据插入到最终目标数据库的过程,例如操作数据库存储、数据市场、数据湖或数据仓库。数据提取是从同质或异质引用中提取信息的过程;数据转换是通过数据清理和转换将数据处理成适合特定查询和分析目的的存储格式/结构。

从源系统中提取数据是ETL处理过程的一部分。由于准确的数据提取是成功未来程序的基石,这通常是ETL中最关键的部分。大多数数据仓库项目会整合来自多个源系统的信息。此外,每个系统可能使用不同的数据结构和格式。关系数据库、XML、JSON和平面文件是标准的数据源格式。然而,也可能使用非关系数据库结构,如信息管理系统(IMS)、其他数据结构,如虚拟存储访问方法(VSAM)或索引顺序访问方法(ISAM),或者甚至是通过网络爬虫或屏幕抓取等技术从外部源获取的格式。当不需要中间数据存储时,执行ETL的另一种方法是流式传输采集到的数据源并立即加载到目标数据库。

数据验证,它验证从源材料提取的数据在指定域(如模式/默认值或项目集)中是否具有正确的值,是提取过程中不可或缺的一部分。如果数据不符合验证标准,则完全或部分拒绝该数据。最好将拒绝的数据返回到源系统进行进一步分析,以查找和修复不准确的信息。

转换(Transform)

提取的数据在数据转换阶段会经历一系列规则或函数,以准备加载到最终目的地。

数据净化,它试图只向目的地发送“正确”数据,是一个关键的转换功能。当相关系统必须相互接口和通信时,困难就会出现。一个系统可能提供的字符集在另一个系统中可能无法使用。

除此之外,可能需要进行以下一项或多项更改,以满足服务器或数据仓库的技术和业务要求

  • 仅选择特定列进行加载。例如,如果源数据包含三个列(也称为“属性”):年龄、薪水和学号,则选择可能仅包括学号和薪水。或者,当薪水缺失时(薪水 = null),选择算法可能会忽略该条目。
  • 转换编码值:(例如,如果源系统为男性分配数字“1”,为女性分配数字“2”,但仓库为男性分配字母“M”,为女性分配字母“F”)
  • 将一个列拆分成多个列:(例如,将一个列中以逗号分隔的列表更改为多个列中的不同值。)
  • 在表或参考文件中查找和验证相关信息。
  • 应用任何数据验证;验证失败可能导致数据完全被拒绝、部分拒绝或根本不拒绝,因此,根据规则的设计和异常的处理方式,部分或全部数据会被传递到下一步。上述许多转换可能导致异常,例如,当代码转换尝试解析收集到的信息中的未知代码时。

加载

加载阶段将信息传输到最终目的地,这可能是一个数据仓库或一个简单的分隔的平面文件。此过程根据公司的需求而有很大差异。一些数据仓库具有用累积数据替换现有数据的潜力;提取的数据通常每天、每周或每月更新。在定期时段(如每小时),其他数据中心(甚至同一数据存储的其他部分)可能会以历史形式提供新数据。想象一个数据库系统,它需要保留过去一年的销售记录才能理解这一点。此数据仓库中一年以上的所有信息都将被更新的数据替换。

然而,对于任何一年的间隔,数据都是以历史形式录入的。根据分配的时间和业务需求,会就何时以及替换或添加多少数据做出战略设计决策。更复杂的系统可以保留对加载到数据仓库中的所有数据修改的记录和审计跟踪。数据库架构中指定的约束和数据加载时触发的触发器(如唯一性、参照完整性和必填字段)在加载过程和数据库交互时适用。这些约束也影响ETL过程的整体信息和产品性能。

  • 例如,一家金融机构可能在多个部门拥有客户数据,这些数据在每个区域的列示方式可能不同。客户在会员部门可能按姓名列示,而在会计部门可能按编号列示。ETL可以汇总所有数据组件,并创建统一的表示形式存储在数据存储库中。
  • 企业还可以利用ETL将数据永久迁移到另一个应用程序。例如,新应用程序可能使用完全不同的数据库提供商和结构。ETL可以将数据转换为新应用程序可以使用的格式。
  • 会计公司、咨询公司和律师事务所可能使用的费用和成本回收系统(ECRS)可以作为一个例子。虽然某些公司可能还使用原始数据来向人力资源(人事部门)提供员工生产力统计信息,或向设施管理提供设备使用报告,但数据通常最终会进入工时和账单系统。

挑战

ETL过程可能很复杂,设计不当的ETL系统甚至可能导致严重的运营问题。

当建立验证和转换规则时,操作环境中的信息值范围或数据完整性可能超出设计者的预期。通过对资源进行数据分析进行数据剖析,可以识别必须由转换规则规范控制的数据情况,从而导致在ETL过程中显式和隐式应用的验证规则的修改。

数据仓库通常结合来自不同格式和目的的数据源。为了在统一、同质的环境中收集所有信息,ETL是一个关键步骤。

设计分析应在ETL系统的运行过程中确定其可扩展性,同时考虑需要处理的数据量并遵守服务级别协议。可用于检索数据源的时间量可能会有所波动,这可能需要更短的时间来处理相同数量的信息。为了刷新包含数十TB数据的数仓,特定的ETL系统必须扩展到处理TB级数据。为了持续转换和更新数据,设计可能需要从每日批处理扩展到多个微批处理,以连接消息队列或实时数据捕获的变化。

虚拟ETL

到2010年,数据虚拟化已开始促进ETL处理。数据虚拟化在ETL中的应用使得处理最常见的ETL操作成为可能,例如应用程序集成和多个分散数据源的数据迁移。在进行虚拟ETL时,从各种结构化、半结构化和非结构化数据源获取的对象或实体被抽象地呈现。ETL工具可以使用面向对象建模,并以集中放置的轮毂-辐条设计与永久存储的实体表示进行交互。元数据存储库是此类从数据源获取的用于ETL处理的事物或对象的术语集合。它可以存在于内存中,也可以永久存储。ETL工具可以通过利用恒定的元数据库,几乎实时地进行数据协调和数据剖析,从而从一次性操作转变为持久中间件。

工具

连接性和可扩展性可以通过已建立的ETL框架得到增强。一个有效的ETL工具应该能够与广泛的数据库系统交换数据,并读取多种文件格式。ETL工具已经开始转向比仅仅提取、转换和加载数据更多的系统,例如企业应用程序集成甚至企业服务总线。数据剖析、质量和元数据功能在ETL解决方案中越来越普遍。将CSV文件转换为关系数据库可用的格式是ETL技术的典型用例。ETL技术使用户能够输入类似CSV的数据源/文件,并以最少的代码将其集成到数据库中,从而促进数百万条记录的典型转换。

ETL工具通常由广泛的职业使用。从负责业务账户管理的数据库设计师到希望快速导入大型数据集的计算机科学学生,ETL工具已经发展成为一个实用工具,可以依靠它来实现最佳性能。


下一个主题全称