为什么我们需要数据管道?17 Mar 2025 | 5 分钟阅读 让我们以 javaTpoint 为例,它侧重于技术内容。 以下是主要目标 - 改进内容:展示客户未来想要看到的内容。 这样,就可以增强内容。
- 高效管理应用程序:跟踪应用程序中的所有活动并将数据存储在现有数据库中,而不是将数据存储在新数据库中。
- 更快:以更低的成本更快地改进业务。
实现上述目标可能是一项艰巨的任务,因为大量数据以不同的格式存储,因此数据的分析、存储和处理变得非常复杂。 各种工具用于存储不同格式的数据。 针对这种情况的可行解决方案是使用数据管道。数据管道集成了分布在不同数据源中的数据,并且它还在同一位置处理数据。 什么是数据管道?AWS 数据管道是一项 Web 服务,可以从不同服务访问数据,在同一位置分析、处理数据,然后将数据存储到不同的 AWS 服务中,例如 DynamoDB、Amazon S3 等。 例如,使用数据管道,您可以每天将您的 Web 服务器日志归档到 Amazon S3 存储桶,然后在这些日志上运行 EMR 集群,每周生成报告。  AWS 数据管道的概念 AWS 数据管道的概念非常简单。 我们有一个位于顶部的 Data Pipeline。 我们有输入存储,可以是 Amazon S3、Dynamo DB 或 Redshift。 来自这些输入存储的数据被发送到数据管道。 数据管道分析、处理数据,然后将结果发送到输出存储。 这些输出存储可以是 Amazon Redshift、Amazon S3 或 Redshift。 AWS 数据管道的优势 - 易于使用
AWS 数据管道非常容易创建,因为 AWS 提供了拖放控制台,即您不必编写业务逻辑来创建数据管道。 - 分布式
它基于分布式和可靠的基础设施构建。 如果在创建数据管道时活动中发生任何故障,则 AWS 数据管道服务将重试该活动。 - 灵活
数据管道还支持各种功能,例如调度、依赖跟踪和错误处理。 数据管道可以执行各种操作,例如运行 Amazon EMR 作业、对数据库执行 SQL 查询或执行在 EC2 实例上运行的自定义应用程序。 - 低成本
AWS 数据管道的使用成本非常低廉,并且以较低的月费构建。 - 可扩展
通过使用数据管道,您可以按顺序或并行地将工作分派给一台或多台机器。 - 透明
AWS 数据管道完全控制计算资源,例如 EC2 实例或 EMR 报告。
AWS 数据管道的组成部分以下是 AWS 数据管道的主要组成部分
- 管道定义
它指定业务逻辑应该如何与数据管道通信。 它包含不同的信息- 数据节点
它指定数据源的名称、位置和格式,例如 Amazon S3、Dynamo DB 等。 - 活动
活动是执行数据库上的 SQL 查询、将数据从一个数据源转换为另一个数据源的操作。 - 计划
计划在活动上执行。 - 先决条件
在安排活动之前必须满足先决条件。 例如,您想从 Amazon S3 移动数据,那么先决条件是检查 Amazon S3 中是否有数据。 如果满足先决条件,则将执行活动。 - 资源
您有计算资源,例如 Amazon EC2 或 EMR 集群。 - 具体操作
它更新有关您的管道的状态,例如通过向您发送电子邮件或触发警报。
- 流水线
它由三个重要项目组成- 管道组件
我们已经讨论了管道组件。 它基本上是您如何将数据管道与 AWS 服务通信。 - 实例
当所有管道组件在一个管道中编译时,它会创建一个可操作的实例,其中包含特定任务的信息。 - 尝试
我们知道数据管道允许您重试失败的操作。 这些只不过是尝试。
- 任务运行器
任务运行器是一个从数据管道轮询任务并执行任务的应用程序。
任务运行器的架构 在上图中,任务运行器从数据管道轮询任务。 任务运行器在任务完成后立即报告其进度。 报告后,检查任务是否成功。 如果任务成功,则任务结束,如果没有,则检查重试尝试。 如果重试尝试剩余,则整个过程将再次继续;否则,任务将突然结束。 创建数据管道- 登录 AWS 管理控制台。
- 首先,我们将创建 Dynamo DB 表和两个 S3 存储桶。
- 现在,我们将创建 Dynamo DB 表。 单击创建表。
   - 单击项目,然后单击创建项目。
- 我们添加了三个项目,即 id、Name 和 Gender。
 - 下面的屏幕显示数据已插入 DynamoDB 表中。
 - 现在我们创建两个 S3 存储桶。 第一个将存储我们从 DynamoDB 导出的数据,第二个将存储日志。
 我们创建了两个存储桶,即 logstoredata 和 studata。 logstoredata 存储桶存储日志,而 studata 存储桶存储我们从 DynamoDB 导出的数据。 - 现在我们创建数据管道。 移至数据管道服务,然后单击开始使用按钮
 - 填写以下详细信息以创建管道,然后单击“在架构师中编辑”以更改管道中的任何组件。


 - 单击在架构师中编辑时会显示下面的屏幕。 我们可以看到警告出现,即TerminateAfter 缺失。 要删除此警告,您需要在“资源”中添加“TerminateAfter”的新字段。 添加字段后,单击激活按钮。
 - 最初,状态为 WAITING_FOR_DEPENDENCIES。 刷新后,状态为 WAITING_FOR_RUNNER。 状态显示为 Running 后,您可以检查您的 S3 存储桶,数据将存储在那里。

|