什么是数据管道?

购物中心金色玻璃幕墙的仰视图

什么是数据管道?

数据管道是一种从各种数据源摄取原始数据,进行转换,然后传输到数据存储(如 数据湖 或 数据仓库)进行分析的方法。

在数据流入数据存储库之前,通常要进行一些数据处理。这包括数据转换,例如过滤、脱敏和聚合,以确保适当的数据整合和标准化。当数据集的目标是关系数据库时,这一点尤为重要。这种数据存储库拥有预定义的架构,需要进行对齐(即匹配数据列和类型),才能用新数据更新现有数据。

顾名思义,数据管道充当数据科学项目或商业智能仪表板的“管道”。数据可以通过各种各样的地方(API、SQL 和 NoSQL 数据库、文件等)获取,但不幸的是,这些数据通常无法立即使用。在数据获取过程中,跟踪数据沿袭以记录各种业务和 IT 应用程序中企业数据之间的关系,例如,数据当前所在的位置以及其在环境(如本地、数据湖或数据仓库)中的存储方式。

数据准备任务通常由数据科学家或数据工程师承担他们负责构建数据以满足业务用例的需求并处理大量数据。数据管道所需的数据处理类型通常通过探索性数据分析和定义的业务需求的组合来确定。一旦数据被适当地过滤、合并和汇总,就可以存储和显示以供使用。组织良好的数据管道为一系列数据项目奠定了基础;这可能包括探索性数据分析、数据可视化和机器学习任务。

数据管道类型

有几种类型的数据管道,每种类型都适用于特定平台上的特定任务。常见的类型包括:

  • 批处理管道
  • 流数据管道
  • 数据整合管道
  • 云原生管道

批处理

开发批处理功能是建立可靠、可扩展的数据基础设施的关键一步。2004 年,批处理算法 MapReduce 获得专利,随后集成到 Hadoop、CouchDB 和 MongoDB 等开源系统中。

顾名思义,批处理在设定的时间间隔内将“批次”数据加载到存储库中,这些时间间隔通常安排在非高峰工作时间。这样,其他工作负载就不会受到影响,因为批处理作业往往会处理大量数据,这会给整个系统带来负担。当不立即需要分析特定数据集例如月度会计时批处理通常是最佳数据管道并且它与 ETL 数据集成流程的关系更大ETL 代表“提取、转换和处理”负载。”

批处理作业形成一系列顺序命令的工作流,其中一个命令的输出成为下一个命令的输入。例如,一个命令可能启动数据摄取,下一个命令可能触发特定列的过滤,后续命令可能处理聚合。这一系列命令将持续进行,直到数据被完全转换并重写到数据存储库中。

流数据

与批处理不同,流数据管道(也称为事件驱动架构)会持续处理由各种来源生成的事件,例如传感器或应用程序内的用户交互。对事件进行处理和分析,然后存储在数据库中或发送到下游进行进一步分析。

当需要不断更新数据时,就会利用流数据。例如应用程序或销售点系统需要实时数据来更新其产品的库存和销售历史记录,这样卖家就可以通知消费者产品是否有库存。单个操作例如产品销售被视为一个“事件”而相关事件例如在结账中添加商品通常被分组为“主题”或“流”。然后,这些事件通过消息传送系统或消息代理进行传输,例如开源产品 Apache Kafka

由于数据事件在发生后不久就会得到处理,因此流处理系统的延迟比批处理系统要低,但由于消息可能会被无意中丢弃或在队列中停留很长时间,因此它并不像批处理系统那样可靠。消息代理通过确认帮助解决此问题,其中使用者向代理确认消息的处理以将其从队列中删除。

数据整合管道

数据整合管道专注于将多个来源的数据合并到一个统一的视图中。这些管道通常涉及提取、转换和加载 (ETL) 流程即在将原始数据存储到数据仓库或数据湖等集中式存储库之前清理、丰富或以其他方式修改原始数据。数据集成管道对于处理生成不兼容格式或结构的不同系统至关重要。例如,可以向 Amazon S3 (Amazon Simple Storage Service) 添加连接,该服务 Amazon Web Services (AWS) 提供,通过网络服务接口提供对象存储。

云原生数据管道

现代数据平台是一套云优先、云原生软件产品,能够收集、清理、转换和分析组织的数据,帮助改进决策。如今,数据管道变得越来越复杂,对于数据分析和做出数据驱动型决策也越来越重要。现代数据平台通过对数据的摄取、存储、处理和转换,确保信息的准确性和及时性,减少数据孤岛,实现自助服务并提高数据质量,从而建立对数据的信任。

AI Academy

数据管理是生成式 AI 的秘诀吗?

深入了解为什么高质量数据对于成功使用生成式 AI 至关重要。

数据管道架构

三个核心步骤构成了数据管道的架构

1. 数据摄取:数据收集的来源多种多样,包括软件即服务 (SaaS) 平台、物联网 (IoT) 设备和移动设备,以及各种数据结构,既有结构化数据,也有非结构化数据。在流数据中,这些原始数据源通常称为生产者、发布者或发送者。虽然企业可以选择仅在准备好处理数据时提取数据,但更好的做法是先将原始数据放在云数据仓库提供商中。这样,如果企业需要对数据处理作业进行调整,他们就可以更新任何历史数据。在此数据摄取过程中,可以执行各种验证和检查,以确保数据的一致性和准确性。

2. 数据转换:在此步骤中,会执行一系列作业,将数据处理为目标数据存储库所需的格式。这些作业嵌入了业务报告等重复性工作流的自动化和治理,确保数据得到一致的清理和转换。例如,数据流可能采用嵌套的 JSON 格式,数据转换阶段将旨在展开该 JSON 以提取要分析的关键字段。

3. 数据存储:然后将转换后的数据存储在数据存储库中,在那里可以向各种利益相关者公开。在流数据中,转换后的数据通常称为使用者、订阅者或接收者。

数据管道与 ETL 管道

您可能会发现某些术语(例如数据管道和 ETL 管道)在对话中可以互换使用。但应该将 ETL 管道视为数据管道的子类别。这两种类型的管道通过三个关键特征来区分:

  • ETL 管道遵循特定的顺序。顾名思义,它们会提取数据、转换数据,然后将数据加载并存储在数据存储库中。并非所有数据管道都需要遵循此顺序。事实上,随着云原生工具的出现,ELT(提取、加载、转换)管道变得越来越流行,在这些工具中,数据可以跨多个源和平台生成和存储。虽然这种流水线仍首先进行数据摄取,但任何转换都是在数据加载到云端数据仓库后进行的。

  • ETL 管道也往往意味着使用批处理,但如上所述,数据管道的范围更广泛。它们还可以包括流处理。

  • 最后,数据管道作为一个整体,不一定需要像 ETL 管道那样进行数据转换,但这种情况可能性不大。不利用转换来促进数据分析的数据管道非常少见。

数据管道的用例

随着大数据的持续增长,数据管理成为越来越重要的优先事项。虽然数据管道具有各种功能,但以下功能适用于业务应用程序:

  • 探索性数据分析:数据科学家运用探索性数据分析 (EDA) 来分析和调查数据集并总结其主要特征,并且经常采用数据可视化方法。它有助于确定如何以最佳方式操纵数据源,以获得所需的答案,让数据科学家能够更轻松地找到模式、发现异常、检验或检查假设。

  • 数据可视化:要通过通用图形表示数据,可以创建数据可视化,例如图表、绘图、信息图表甚至动画。这些可视化的信息显示以一种易于理解的方式传达复杂的数据关系和数据驱动的洞察。

  • 机器学习机器学习是人工智能 (AI) 和计算机科学的一个分支,专注于使用数据和算法来模仿人类的学习方式,逐渐提高准确性。通过使用统计方法,对算法进行训练,使其能够进行分类或预测,从而在数据挖掘项目中发现关键洞察分析。

  • 数据可观测性:为了验证所用数据的准确性和安全性,数据可观测性应用多种工具来监控、跟踪预期事件和异常情况并发出相关警报。

作者

Cole Stryker

Staff Editor, AI Models

IBM Think

相机、音量旋钮和剪贴板等图标排成螺旋状的 3D 渲染图
相关解决方案
IBM StreamSets

通过直观的图形界面创建和管理智能流数据管道,促进跨混合和多云环境的无缝数据集成。

深入了解流媒体集
IBM watsonx.data™

watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)扩展分析和 AI。

了解 watsonx.data
数据和分析咨询服务

借助 IBM Consulting 释放企业数据的价值,构建一个可带来业务优势的洞察驱动型组织。

了解分析服务
采取下一步行动

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

  1. 深入了解数据管理解决方案
  2. 了解 watsonx.data