什么是数据管道?

中港城商场金色玻璃幕墙

作者

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是数据管道?

数据管道是一种从各种数据源引入原始数据,进行转换,然后移植到数据存储(如数据湖数据仓库)进行分析的方法。

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

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

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

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

数据管道类型

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

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

批处理

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

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

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

流数据

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

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

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

数据整合管道

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

云原生数据管道

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

Mixture of Experts | 8 月 28 日,第 70 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

数据管道架构

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

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

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

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

数据管道与 ETL 管道

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

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

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

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

数据管道的用例

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

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

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

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

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

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

深入了解流媒体集
IBM Databand

发现 IBM Databand,用于数据管道的可观测性软件。该软件会自动收集元数据来构建历史基线、检测异常并创建工作流程,以修复数据质量问题。

深入了解 Databand
数据集成解决方案

利用 IBM 数据集成解决方案,创建弹性、高性能和成本优化的数据管道,以满足您的生成式 AI 计划、实时分析、仓库现代化和运营需求。

探索数据集成解决方案
采取后续步骤

了解 IBM DataStage,这是一款 ETL(提取、转换、加载)工具,为设计、开发和部署数据管道提供可视化界面。它可作为 IBM Cloud 上的托管 SaaS、自托管以及 IBM Cloud Pak for Data 的附加组件提供。

探索 DataStage 深入了解分析服务