主页
topics
什么是数据管道 (Data pipeline)
更新日期:2024 年 6 月 14 日
撰稿人:Cole Stryker
数据管道 (Data pipeline) 方法从多种数据源采集原始数据,然后将其存储至数据存储库(如数据湖或数据仓库)进行分析。 数据在流入数据存储库之前,通常会经过一些数据处理。 这包括数据转换,例如过滤、屏蔽和汇总,可确保实现适当的数据集成和标准化。 如果形成数据集的目的是建立相关数据库,那么数据转换尤其重要。 这种类型的数据存储库具有定义的架构,需要对齐(即匹配数据列和类型),以使用新数据来更新现有数据。
顾名思义,数据管道 (Data pipeline) 是数据科学项目或商业智能仪表板的"管道"。 我们可以从各种地方获取数据,如 API、SQL、NoSQL数据库和文件等,但遗憾的是,我们通常无法立即使用这些数据。 数据准备任务通常由数据科学家或数据工程师完成,他们负责整理数据以满足业务用例的需求。 数据管道 (Data pipeline) 所需的数据处理类型通常通过结合探索性数据分析和定义的业务需求来确定。 对数据进行适当的过滤、合并和汇总后,就可以存储和显示数据以供使用。 组织有序的数据管道 (Data pipeline) 为一系列数据项目提供了基础;可能包括探索性数据分析、数据可视化和机器学习任务。
随时随地调整所有数据的 AI 工作负载。
数据管道 (Data pipeline)主要有两种类型:批处理和流数据。
批处理的发展是构建可靠且可扩展的数据基础架构的关键步骤。 2004 年,批处理算法 MapReduce 获得专利,然后成功集成到 Hadoop、CouchDB 和 MongoDB 等开源系统中。
顾名思义,批处理在一定的时间内将"批量"数据加载到存储库中,通常安排在非高峰营业时段内。 这样一来,其他工作负载不会受到影响,因为批处理作业通常使用大量数据,可能会给整个系统造成负担。 在没有要分析特定数据集的紧急需求(例如每月会计结算)时,批处理通常是最佳的数据管道 (Data pipeline),并且它与 ETL(提取、转换和加载)数据集成过程的相关性更强。
批处理作业形成序列化命令的工作流程,其中一个命令的输出将成为下一个命令的输入。 例如,一个命令可能启动数据采集,下一个命令可能触发对特定列的过滤,紧接着的命令可能是处理汇总。 这一系列命令将一直持续到数据完全转换并写入数据存储库。
与批处理不同,流数据管道(也称为事件驱动架构)会持续处理由各种来源生成的事件,例如传感器或应用程序内的用户交互。对事件进行处理和分析,然后存储在数据库中或发送到下游进行进一步分析。
当需要不断更新数据时,就会利用流数据。例如应用程序或销售点系统需要实时数据来更新其产品的库存和销售历史记录,这样卖家就可以通知消费者产品是否有库存。单个操作例如产品销售被视为一个“事件”而相关事件例如在结账中添加商品通常被分组为“主题”或“流”。然后,这些事件通过消息传送系统或消息代理进行传输,例如开源产品 Apache Kafka。
由于数据事件在发生后不久就会得到处理,因此流处理系统的延迟比批处理系统要低,但由于消息可能会被无意中丢弃或在队列中停留很长时间,因此它并不像批处理系统那样可靠。消息代理通过确认帮助解决此问题,其中使用者向代理确认消息的处理以将其从队列中删除。
数据集成管道专注于将多个来源的数据合并到一个统一的视图中。这些管道通常涉及提取、转换和加载 (ETL) 流程即在将原始数据存储到数据仓库或数据湖等集中式存储库之前清理、丰富或以其他方式修改原始数据。数据集成管道对于处理生成不兼容格式或结构的不同系统至关重要。例如,可以向 Amazon S3 (Amazon Simple Storage Service) 添加连接,该服务 Amazon Web Services (AWS) 提供,通过网络服务接口提供对象存储。
现代数据平台是一套云优先、云原生软件产品,能够收集、清理、转换和分析组织的数据,帮助改进决策。如今,数据管道变得越来越复杂,对于数据分析和做出数据驱动型决策也越来越重要。现代数据平台通过对数据的摄取、存储、处理和转换,确保信息的准确性和及时性,减少数据孤岛,实现自助服务并提高数据质量,从而建立对数据的信任。
三个核心步骤构成了数据管道的架构。
1. 数据摄取:数据收集的来源多种多样,包括软件即服务 (SaaS) 平台、物联网 (IoT) 设备和移动设备,以及各种数据结构,既有结构化数据,也有非结构化数据。在流数据中,这些原始数据源通常称为生产者、发布者或发送者。虽然企业可以选择仅在准备好处理数据时提取数据,但更好的做法是先将原始数据放在云数据仓库提供商中。这样,如果企业需要对数据处理作业进行调整,他们就可以更新任何历史数据。在此数据摄取过程中,可以执行各种验证和检查,以确保数据的一致性和准确性。
2. 数据转换:在此步骤中,会执行一系列作业,将数据处理为目标数据存储库所需的格式。这些作业嵌入了业务报告等重复性工作流的自动化和治理,确保数据得到一致的清理和转换。例如,数据流可能采用嵌套的 JSON 格式,数据转换阶段将旨在展开该 JSON 以提取要分析的关键字段。
3. 数据存储:然后将转换后的数据存储在数据存储库中,在那里可以向各种利益相关者公开。在流数据中,转换后的数据通常称为使用者、订阅者或接收者。
您可能会发现某些术语(如数据管道和 ETL 管道)在对话中可互换使用。 但您应该将 ETL 管道视为数据管道的子类别。 我们可以通过三个关键特征区分这两种管道:
• ETL 管道遵循特定的顺序。 ETL 是一个缩写,指的是提取数据,转换数据,然后在数据存储库中加载和存储数据。 所有数据管道都不需要遵循该顺序。 事实上,随着云原生工具的出现,ELT 管道越来越受欢迎。 虽然该管道仍然会首先进行数据采集,但在将数据加载到云数据仓库后,可以应用任何转换。
• ETL 管道也倾向于使用批处理,但如上所述,数据管道的范围更广。 它们也可以包括流处理。
• 最后,虽然不太可能,但数据管道作为一个整体并不一定需要像 ETL 管道那样进行数据转换。 很少看到不利用转换来推动数据分析的数据管道。
随着大数据的不断发展,数据管理 (Data pipeline) 成为越来越重要的优先事项。 虽然数据管道 (Data pipeline) 的功能多样,但在业务中主要有三种形式的应用:
• 探索性数据分析:数据科学家使用探索性数据分析 (EDA) 来分析和调查数据集并总结其主要特征,通常采用数据可视化方法。 EDA 有助于确定如何最好地操作数据源以获得所需的答案,使数据科学家更容易发现模式、发现异常、检验假设或检查假设。
• 数据可视化:数据可视化 是指通过使用常见图形(如图表、统计图、信息图甚至动画)来表示数据。 这些信息视觉显示以一种易于理解的方式展现复杂的数据关系和数据驱动洞察。
• 机器学习: 机器学习是人工智能 (AI) 和计算机科学的分支,专注于使用数据和算法来模仿人类学习的方式,逐渐提高其准确性。 通过使用统计方法,对算法进行训练,以进行分类或预测,揭示数据挖掘项目中的关键洞察。
IBM DataStage 是一款行业领先的数据集成工具,可帮助您设计、开发和运行数据移动和转换作业。
IBM Data Replication 是一款数据同步软件,可近乎实时地在多个数据存储器之间保持同步。IBM Data Replication 是一种影响较小的解决方案,仅跟踪日志捕获到的数据变更。
IBM Databand 是适用于数据管道和仓库的可观察性软件,可自动收集元数据以构建历史基线、检测异常、进行警报分类并监控 Apache Airflow 有向无环图 (DAG) 的运行状况和可靠性。
IBM watsonx.data 是基于开放数据湖仓一体架构构建的专用数据存储,可随时随地扩展分析和 AI 工作负载以处理所有数据。
阅读电子报,了解如何通过关注三个数据管理关键领域:访问、治理以及隐私与合规,为 AI 构筑强大的数据基础。
了解印度国家银行如何使用 数据管道(Data pipeline) 和多个 IBM 解决方案及 IBM Garage™ 方法开发一个综合在线银行平台。