[SEO 副标题]
本指南演示如何配置一个易于数据工程师和数据科学家启动和访问的自助式数据分析环境。集成式开发环境(IDE)基于 Jupyter Notebook,提供便于数据探索的交互式界面,并包含调试、构建和调度近实时数据管道所需的所有工具。该环境支持通过工作负载隔离实现安全的团队协作,并允许管理员从单一界面自行配置、扩展和取消配置资源,而不会暴露底层基础设施的复杂性或损害安全性、治理和成本。管理员可以独立管理集群配置,并持续优化成本、安全性、可靠性和性能。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
云运营团队根据其所需的规范(例如实例类型和网络配置)在 AWS CloudFormation 中开发 Amazon EMR 集群模板,并将模板作为产品发布在 AWS Service Catalog 中进行自助服务配置。
第 2 步
网络广告上的竞价事件或像素捕获用户曝光量并将数据发送到 Amazon Kinesis Data Streams 端点。
第 3 步
数据工程团队登录到 Amazon EMR Studio 中的工作区。在这里,他们自行配置 Amazon EMR 集群。或者,他们使用交互式笔记本连接现有集群来开发 Spark 流式传输应用程序,例如出价验证或曝光效果评估。
第 4 步
Spark 流式传输应用程序在 Amazon EMR 集群上运行。它会持续从 Kinesis Data Streams 中提取原始出价或曝光事件数据。该应用程序将转换数据。然后,将转换后的数据存储在 Amazon Simple Storage Service(Amazon S3)数据湖中。
此过程可实现近乎实时的运营报告。您可以选择预置的 Amazon EMR 集群,以获得最大的成本优化灵活性,也可以选择无服务器 Amazon EMR 集群来简化部署和集群管理。
第 5 步
Amazon S3 将数据存储在分区文件夹中。数据可以压缩,并采用列格式或诸如 Apache Iceberg 等其他开放表格式。
第 6 步
所有数据库和表元数据都在 AWS Glue Data Catalog 中注册,因此可以通过多种 AWS 服务(例如 Amazon Athena 或 Amazon SageMaker)查询数据。
第 7 步
(可选)数据湖管理员可以将数据目录注册到 AWS Lake Formation,以提供更精细的访问控制和集中的用户管理。
第 8 步
用户可以使用 Athena 近乎实时地针对 Amazon S3 中精选的点击流或展示次数数据运行 SQL 查询,并使用 Amazon QuickSight 对仪表板进行可视化。
第 9 步
除了 Amazon S3 数据湖之外,Amazon EMR 工作负载还可以将数据写入 NoSQL 数据库(如 Amazon DynamoDB)或内存数据库(如 Aerospike)。这可以为需要大规模快速性能的读取工作负载(例如出价筛选或运营报告)提供支持。
开始使用
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
Amazon EMR Studio 通过 Jupyter Notebook 提供完全托管的、基于 Web 的集成式开发环境(IDE),使数据工程或数据科学团队能够以交互方式开发、可视化和调试 Spark 流式传输应用程序,而无需管理其他服务器。团队可以自行配置使用 Service Catalog 中的基础设施即代码(IaC)模板预定义的 Amazon EMR 集群。这可以减少对云运营团队的依赖,提高开发敏捷性,并帮助组织以最小的开销遵循安全和治理最佳实践。
-
安全性
Amazon EMR Studio 支持使用 AWS Identity and Access Management(IAM)或 AWS Identity Center 进行身份验证和授权,无需使用 SSH(安全 Shell)直接连接到 Spark 集群。Lake Formation 允许对数据湖中的数据进行精细和集中的访问控制,集中用户访问管理并增强数据管道强大的安全和治理状况。
-
可靠性
Kinesis Data Streams 和 Amazon EMR 提供自动扩缩功能,以满足实时数据流工作流的吞吐量需求。Amazon EMR 使用 Apache Spark 框架,该框架会在应用程序或网络发生故障时自动分配和重试作业。Kinesis Data Streams 还可以自动扩展容量并同步复制三个可用区中的数据,从而实现高可用性和数据持久性。
-
性能效率
Kinesis Data Streams 可根据数据流量的变化自动扩展容量,使您的实时处理工作流能够满足吞吐量需求。Amazon EMR 为 Spark 提供了多种性能优化功能,使用户无需更改应用程序即可将运行速度提高 3.5 倍。此外,Athena 还会自动并行处理查询并配置必要的资源。数据还可以根据 Amazon S3 分区键以列格式存储,从而提高查询性能。
-
成本优化
本指南提供了一个示例 Amazon EMR 集群模板,该模板使用具有 Amazon EC2 竞价型实例容量的实例集,并指定 Amazon EC2 Graviton3 实例类型。与基于 x86 的同类 Amazon Elastic Compute Cloud(Amazon EC2)实例相比,可以节省高达 20% 的成本。此外,使用空闲超时和 Amazon S3 存储层可以更好地利用计算和存储资源并优化成本。
-
可持续性
与同类 Amazon EC2 实例相比,Amazon EC2 Graviton3 实例类型在相同性能下的能耗可降低高达 60%,有助于减少碳足迹。使用 Amazon EC2 竞价型实例和 Amazon EMR 空闲超时设置有助于确保更好地利用资源,并最大限度地减少工作负载对环境的影响。
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。