elt 定义
elt 代表提取、加载、转换。elt 是传统系统的一个演变, 您可以在传统系统中提取、转换, 然后加载数据 (etl)。从历史上看, etl一直是将数据从一个地方移动到另一个地方的最佳且最可靠的方式。但是, 随着现代数据存储系统的计算能力不断增强, 有时在转换前加载数据会更有效。
这也不是一刀切的情况, 因为有些转换在数据存储中执行得更好, 有些转换在数据管道中执行得更好。我们稍后再讨论这个问题。
有关移动数据的两种方法之间的详细比较, 请参阅etl 与 elt: 说明的差异。
elt 的优点
以下是 elt 的一些好处:
- 高效。elt 可以利用现有硬件的计算能力来执行转换。
- 灵活生成的数据集。使用 elt 时, 可以将整个数据集移动到目标。如果您不想在移动数据之前对其进行转换, 或者希望目标数据的架构具有灵活性, 这将非常有用。
下面是一些受益于 elt 的常见用例:
- 数据相对简单, 但质量庞大,如日志文件和传感器数据。在这种情况下, 在目标中发生的转换可能相对简单, 其好处来自于目标数据存储快速加载海量数据的能力。
- 这些数据是非结构化的, 它不需要大量的初始转换, 因为您计划使用机器学习工具或数据挖掘进行分析, 而不是像 sql 这样的标准结构化查询。在此用例中执行 elt 时, 数据分析人员使用 “读取时的架构” 定义其架构, 这意味着架构是在将数据写入目标存储区后开发的。传统的 etl 使用 “写时的架构”, 其中架构被定义为将数据写入目标数据存储区之前 etl 进程的一部分。此用例的好处是, 您不需要提前规划架构, 并且可以利用目标数据存储的移动大量非结构化数据的能力。
当你可能更喜欢使用 etl
虽然 elt 在某些情况下可能非常棒, 但仍有 etl 工具是您的最佳选择。现代 etl 工具可能是以下情况的最佳选择:
- 当您想要在加载到目标存储之前进行大量的数据清理时.etl 是一个更好的解决方案, 因为您不会将不需要的数据移动到目标。
- 当您想要执行复杂的计算时。传统上, etl 工具在这方面比数据仓库或数据湖更高效。
- 当您只使用结构化数据或传统结构化数据仓库时。etl 工具通常是将结构化数据从一个环境移动到另一个环境的最有效方法。
- 当您想要丰富数据时。如果要在数据移动到目标存储区时丰富数据, 则需要使用 etl 工具。例如, 您可能需要添加地理位置信息或时间戳。