跳转至

数据管道

数据管道是解决方案的核心功能。在 亚马逊云科技点击流分析 解决方案中,我们将数据管道定义为将点击流数据摄取、处理和建模成目标数据仓库的一系列集成 AWS 服务的序列。它还被设计为高效可靠地从您的网站和应用程序收集数据到基于 S3 的数据湖中,可以进一步处理、分析和用于其他用例(例如实时监控和推荐)。

概念

在创建数据管道之前,您可以在本解决方案中学习一些概念,以便将数据管道配置为最符合您业务目标的方式。

项目

本解决方案中的项目是顶层实体,类似于一个容器,用于分组您的应用程序和收集和处理点击流数据的数据管道。一个项目包含一个数据管道,并且可以有一个或多个应用程序注册到它。

数据管道

数据管道部署在一个 AWS 区域中,这意味着所有基础资源都在一个 AWS 区域中创建。本解决方案中的数据管道包含四个模块:

  • 数据摄取:提供通过 HTTP 请求收集数据的端点的 Web 服务,并将数据汇入流服务或 S3。
  • 数据处理:将原始数据转换为解决方案架构并使用其他维度丰富数据的模块。
  • 数据建模:聚合数据以计算业务分析指标的模块。
  • 报表:在 QuickSight 中创建指标和开箱即用的可视化仪表板,使得用户能够在分析工作坊中查看报表和查询点击流数据的模块。

应用程序

本解决方案中的应用程序可以代表您业务中的一个应用程序,该应用程序可能构建在一个或多个平台上(例如 Android、iOS 和 Web)。

仪表板

对于在仪表板中注册的每个应用程序,解决方案将在 AWS 区域中为每个应用程序创建一个 QuickSight 仪表板。

下面是一个图解,以帮助您更好地理解这些概念及其在 AWS 上下文中的关系。

概念

先决条件

您可以在所有 AWS 区域中配置管道。对于需要选择的区域,您需要首先启用它们

在开始在特定区域中配置管道之前,请确保目标区域中具有以下内容:

  • 至少一个 Amazon VPC。
  • 在 VPC 中至少有两个公共子网跨越两个可用区。
  • 在 VPC 中至少有两个私有子网(带 NAT 网关或实例)跨越两个可用区,或者在 VPC 中至少有两个隔离子网跨越两个可用区。如果您想将解决方案资源部署在隔离子网中,则必须为以下 AWS 服务创建 VPC 终端
    • s3logsecr.apiecr.dkrecsecs-agentecs-telemetry
    • 如果您在摄取模块中使用 KDS 作为缓冲器,则为 kinesis-streams
    • 如果您启用数据处理模块,则为 emr-serverlessglue
    • 如果您在数据建模模块中启用 Redshift 作为分析引擎,则为 redshift-datastsdynamodb(必须是网关类型的 DynamoDB 端点)、stateslambda
  • 一个位于同一区域的 S3 存储桶。
  • 如果您需要在数据建模模块中启用 Redshift Serverless 作为分析引擎,则需要跨至少三个可用区的子网。
  • 如果启用了报表功能,则需要 QuickSight 企业版订阅。