在数据流入数据存储库之前,通常要进行一些数据处理。这包括数据转换,例如过滤、屏蔽和聚合,以确保适当的数据整合和标准化。当数据集的目标是关系数据库时,这一点尤为重要。这种类型的数据存储库有一个已定义的模式,需要对齐,即匹配数据列和类型,才能使用新数据更新现有数据。
顾名思义,数据管道充当数据科学项目或商业智能仪表板的“管道”。数据可以通过各种各样的地方(API、SQL 和 NoSQL 数据库、文件等)获取,但不幸的是,这些数据通常无法立即使用。在采购过程中,跟踪数据沿袭以记录各种业务和IT应用程序中企业数据之间的关系,例如,数据当前的位置以及数据在环境(例如本地、数据湖或数据仓库)中的存储方式。
数据准备任务通常由数据科学家或数据工程师承担他们负责构建数据以满足业务用例的需求并处理大量数据。数据管道所需的数据处理类型通常通过探索性数据分析和定义的业务需求的组合来确定。一旦数据被适当地过滤、合并和汇总,就可以存储和显示以供使用。组织良好的数据管道为一系列数据项目奠定了基础;这可能包括探索性数据分析、数据可视化和机器学习任务。
有几种类型的数据管道,每种类型都适用于特定平台上的特定任务。常见的类型包括:
开发批处理功能是建立可靠、可扩展的数据基础设施的关键一步。2004 年,批处理算法 MapReduce 获得专利,随后集成到 Hadoop、CouchDB 和 MongoDB 等开源系统中。
顾名思义,批处理在设定的时间间隔内将“批次”数据加载到存储库中,这些时间间隔通常安排在非高峰工作时间。这样,其他工作负载就不会受到影响,因为批处理作业往往会处理大量数据,这会给整个系统带来负担。当不立即需要分析特定数据集例如月度会计时批处理通常是最佳数据管道并且它与 ETL 数据集成流程的关系更大ETL 代表“提取、转换和处理”负载。”
批处理作业形成一系列顺序命令的工作流,其中一个命令的输出成为下一个命令的输入。例如,一个命令可能启动数据摄取,下一个命令可能触发特定列的过滤,后续命令可能处理聚合。这一系列命令将一直持续到数据质量完全转换并重写到数据存储库中为止。
与批处理不同,流数据管道(也称为事件驱动架构)会持续处理由各种来源生成的事件,例如传感器或应用程序内的用户交互。对事件进行处理和分析,然后存储在数据库中或发送到下游进行进一步分析。
当需要不断更新数据时,就会利用流数据。例如应用程序或销售点系统需要实时数据来更新其产品的库存和销售历史记录,这样卖家就可以通知消费者产品是否有库存。单个操作例如产品销售被视为一个“事件”而相关事件例如在结账中添加商品通常被分组为“主题”或“流”。然后,这些事件通过消息传送系统或消息代理进行传输,例如开源产品 Apache Kafka。
由于数据事件在发生后不久就会得到处理,因此流处理系统的延迟比批处理系统要低,但由于消息可能会被无意中丢弃或在队列中停留很长时间,因此它并不像批处理系统那样可靠。消息代理通过确认帮助解决此问题,其中使用者向代理确认消息的处理以将其从队列中删除。
数据整合管道专注于将多个来源的数据合并到一个统一的视图中。这些管道通常涉及提取、转换和加载 (ETL) 流程即在将原始数据存储到数据仓库或数据湖等集中式存储库之前清理、丰富或以其他方式修改原始数据。数据集成管道对于处理生成不兼容格式或结构的不同系统至关重要。例如,可以向 Amazon S3 (Amazon Simple Storage Service) 添加连接,该服务 Amazon Web Services (AWS) 提供,通过网络服务接口提供对象存储。
现代数据平台是一套云优先、云原生软件产品,能够收集、清理、转换和分析组织的数据,帮助改进决策。如今,数据管道变得越来越复杂,对于数据分析和做出数据驱动型决策也越来越重要。现代数据平台通过对数据的摄取、存储、处理和转换,确保信息的准确性和及时性,减少数据孤岛,实现自助服务并提高数据质量,从而建立对数据的信任。
三个核心步骤构成了数据管道的架构。
1. 数据摄取:数据收集的来源多种多样,包括软件即服务 (SaaS) 平台、物联网 (IoT) 设备和移动设备,以及各种数据结构,既有结构化数据,也有非结构化数据。在流数据中,这些原始数据源通常称为生产者、发布者或发送者。虽然企业可以选择仅在准备好处理数据时提取数据,但更好的做法是先将原始数据放在云数据仓库提供商中。这样,如果企业需要对数据处理作业进行调整,他们就可以更新任何历史数据。在此数据摄取过程中,可以执行各种验证和检查,以确保数据的一致性和准确性。
2. 数据转换:在此步骤中,会执行一系列作业,将数据处理为目标数据存储库所需的格式。这些作业嵌入了业务报告等重复性工作流的自动化和治理,确保数据得到一致的清理和转换。例如,数据流可能采用嵌套的 JSON 格式,数据转换阶段将旨在展开该 JSON 以提取要分析的关键字段。
3. 数据存储:然后将转换后的数据存储在数据存储库中,在那里可以向各种利益相关者公开。在流数据中,转换后的数据通常称为使用者、订阅者或接收者。
您可能会发现某些术语(例如数据管道和 ETL 管道)在对话中可以互换使用。但应该将 ETL 管道视为数据管道的子类别。这两种类型的管道具有三个主要特征:
随着大数据的持续增长,数据管理成为越来越重要的优先事项。虽然数据管道具有各种功能,但以下功能适用于业务应用程序:
通过直观的图形界面创建和管理智能流数据管道,促进跨混合和多云环境的无缝数据集成。
发现 IBM Databand,用于数据管道的可观测性软件。该软件会自动收集元数据来构建历史基线、检测异常并创建工作流程,以修复数据质量问题。
利用 IBM 数据集成解决方案,创建弹性、高性能和成本优化的数据管道,以满足您的生成式 AI 计划、实时分析、仓库现代化和运营需求。