什么是数据转换?
DataHot 速览
数据转换是处理原始数据的过程,通过分箱、聚合、清洗、去重、派生、增强、过滤、集成、连接、拆分、汇总、验证、格式修订、键重构等多种技术,将数据转化为可用于分析的结构。文章列举了各类转换方法,适合数据平台建设者参考。
为什么值得关注:系统梳理数据转换的常见类型,是数据平台/数据集成治理领域的基础方法论,有助于从业者理解ETL/ELT各环节。
译文
AI 逐段翻译数据转换的类型
数据转换过程可以通过几种不同的技术来完成,具体取决于数据和最终转换目标。这些技术可能包括:
- 分桶/分箱: 将数值序列划分为更小的“桶”或“箱”。这是通过使用一组阈值将数值特征转换为分类特征来实现的。
- 数据聚合: 汇总数据的过程,以便更好地用于报告和可视化。聚合可以通过使用不同的方法来实现,例如使用随时间、空间或其他维度的值的总和、平均值或中位数。
- 数据清理: 通过删除不准确、不完整或过时的信息来提高数据准确性和质量的过程。
- 数据去重: 一种压缩过程,识别并删除重复的数据副本,以加快数据传输过程。
- 数据推导: 创建规则以仅从数据源提取所需的具体信息。
- 数据丰富: 使用外部数据源增强现有数据的过程,以扩展数据字段或补充缺失的数据字段。
- 数据过滤: 精炼数据以消除不相关的数据,仅显示所需的信息。
- 数据集成: 将不同类型的数据合并到同一结构中。数据集成标准化不同的数据,以便将其作为一个整体进行分析。
- 数据连接: 一种操作,通过公共数据字段将多个数据库表合并为单个数据集。
- 数据拆分: 将单个列拆分为多个列以分析数据。这对于分析随时间收集的大量数据可能很有用。
- 数据汇总: 一种数据聚合类型,通过计算值总计来创建不同的业务指标。
- 数据验证: 通过创建自动规则来响应特定数据问题,确保数据质量的过程。
- 格式修订: 更改格式以解决包含不同数据类型字段的问题的过程。
- 键重组: 将具有内置含义的键更改为通用键(引用源数据库中信息的随机数)的过程,以防止数据系统性能下降。
数据转换性能优化
数据转换过程可能既耗时又耗资源,因此优化数据转换性能对于降低成本和节省时间至关重要。性能优化技术包括:
- 数据压缩: 该技术涉及通过将较小的文件合并为较大的文件、消除冗余或不必要的数据以及优化格式以实现高效读写来减少数据的存储占用。
- 分区: 这涉及根据特定条件(如日期、区域或类别)将大型数据集划分为更小、更易于管理的分区。这可以通过允许并行处理并减少需要扫描的数据量来提高查询性能。
- 文件大小调整: 这涉及调整文件大小以平衡性能和资源利用。这可能涉及将大文件拆分为较小的块,或将小文件合并为较大的文件。
- 数据跳过和修剪: 该技术涉及跳过不相关的数据或修剪不必要的数据,以最小化读取和处理的数据量。通过使用元数据、索引或分区等方法,系统可以消除不必要的数据扫描,从而显著提高性能。
- 数据缓存: 这指的是将频繁访问的数据存储在内存或快速访问存储层中的过程,减少重复处理或从较慢源获取数据的需要。这可以显著提高读取性能并减少延迟。
通过我们的综合指南了解更多关于优化数据转换性能的信息。
数据转换工具
数据转换对于创建组织可用于洞察的可靠数据至关重要。然而,数据转换过程和整个ETL过程带来了严峻的挑战,从构建和维护可靠的数据管道到在日益复杂的管道架构中管理数据质量。数据转换工具简化并普及了转换,简化了ETL生命周期。然而,ETL工具的运作方式存在一些关键差异。
批处理与流式处理
批处理是指分块和定时提取、转换和加载数据的过程。这是高效处理大量数据的绝佳工具,并且在不需要实时处理数据时非常理想。
流式处理意味着数据在收到时即被处理。这种连续的数据提取最适合需要最新信息的组织,例如在实时仪表板或实时监控和警报中。
一些ETL工具可以处理批处理和流式处理,而其他工具则更侧重于其中之一。
本地部署与云
本地ETL在组织自己的基础设施内运行。该模型让你完全控制数据安全、存储和处理,但它也需要大量的硬件和维护成本。
云中的ETL工具为企业提供了更大的灵活性和成本效益。它们与云存储解决方案和云数据仓库无缝集成,并通常具有内置的自动化功能,使数据处理更高效。
开源与专有
开源工具非常适合希望灵活性和定制化的企业。工程师可以研究源代码以确定基础设施的精确构建,并修改其功能以最适合组织的数据需求。请注意,这些工具的文档和功能可能有所不同,因为它们通常由分散的开发人员组创建。
有许多专有的ETL系统。由于这些工具由大型组织——而非松散的工程师群体——支持,客户通常能享受到更顺畅的实施和维护,以及客户支持和频繁更新。
无代码/低代码与可编码
无代码工具非常适合技术能力较弱的用户或没有数据工程经验的人。它们使用图形用户界面(GUI)而非代码,用户可以通过拖放组件来设计ETL工作流。虽然它们不如低代码工具那样可定制,但它们为需要快速简便的数据集成工具的组织提供了简单的解决方案。
完全可编码的ETL工具允许用户完全控制其ETL管道,并编写自定义代码来定义精确的数据指令。这些工具专为技术型用户(如数据工程师或开发人员)设计。
介于两者之间的是低代码ETL工具,面向有一定编码经验但希望避免大量手动编码的半技术型用户。低代码ETL工具提供了可视化界面和编码选项的组合。用户仍然可以使用拖放元素构建工作流,但也有权通过脚本或预构建代码片段自定义某些步骤。
Data + AI平台上的数据转换
Databricks提供了在Data + AI平台上实施和编排数据转换及ETL的基本工具。
Spark Declarative Pipelines帮助数据工程团队在Data + AI平台上轻松构建和管理可靠的批处理和流式数据管道,提供高质量的数据。Spark Declarative Pipelines通过声明式管道开发、自动测试以及用于监控和恢复的深度可见性,简化了ETL开发和管理的流程。
转换过程可能很复杂。确保你具备以下功能以获得所需的结果:
数据质量检查。 这些检查确保输入表的数据符合质量标准。例如,Spark Declarative Pipelines具有一项名为Expectations的功能,可确保对通过查询的每条记录应用数据质量检查。
易于理解的架构。 这可确保数据以逻辑且可访问的方式存储。例如,使用medallion架构,数据质量在通过每一层时逐步提高。
不同的更新模式。 诸如触发模式(在刷新表后停止处理,确保更新与更新开始时的可用数据一致)和连续模式(新数据一旦到达即被处理)等选项,让你能更好地控制数据。
Lakeflow Jobs是一个完全集成的托管编排服务,使数据团队能够更好地自动化和编排数据管道。Lakeflow Jobs帮助用户轻松定义、管理和监控用于ETL、分析和机器学习管道的多任务工作流,以提高生产力。Lakeflow Jobs可以轻松与其他流行工具集成,如dbt或Coalesce。
其他资源
这篇内容对你有用吗?
反馈只用于改善内容筛选,不等同于收藏