本指引将展示如何提高在 Apache Spark 上运行的数据管道的可观测性。尽管此开源框架提供了用于收集运行时指标以了解低级别数据处理活动的工具,但这些指标比较原始。通过使用用于执行提取、转换、加载(ETL)操作的 AWS 服务以及 Apache Spark,您可以提高数据质量和粒度,以便更好地洞察优化机会。此外,提高数据管道的可观测性还有助于提高效率、减少运营开销、加速排除故障、避免性能瓶颈,以及从数据处理工作负载中获得更大的价值。

请注意:[免责声明]

架构图

[架构图描述]

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • 本指引使用 OpenSearch Service 可观测性连接器来自动收集 Apache Spark 日志和指标,然后通过 OpenSearch Ingestion 管道对其进行转换,这些管道极具可配置性并能够根据您的需求进行改进。OpenSearch Service 提供了强大的搜索功能,内置的 OpenSearch 控制面板提高了可观测性,并提供了视觉效果,可缩短获得洞察的时间并帮助进行故障排除。

    阅读《卓越运营》白皮书 
  • 使用 AWS Identity and Access Management(IAM),您可以控制对管道和 OpenSearch 索引的访问权限。您可以使用 IAM 策略确保在当前 Apache Spark 应用程序的安全边界内收集指标和日志。您可以使用专用的管理角色、管道角色和摄取角色实施最低权限原则。此外,本指引还使用 Amazon Virtual Private Cloud(Amazon VPC)与 OpenSearch 进行通信,以实现适当的网络流量隔离,并在将数据存储到 OpenSearch 之前使用 AWS KMS 对数据进行加密。

    阅读《安全性》白皮书 
  • OpenSearch Service 可观测性连接器收集日志和指标,并将它们发送到 OpenSearch Ingestion 管道,这些管道会随着新日志和指标的生成而自动横向缩减和扩展。这样可以限制意外活动高峰对 OpenSearch Service 集群性能和稳定性产生的影响。此外,可观测性连接器的缓冲和采样功能可以帮助您进一步减小潜在的摄取后端压力。为了保持高可用性并提高可靠性,您可以允许在 OpenSearch Service 集群上执行多可用区(AZ)部署,此集群随后将跨可用区分配 Ingestion OpenSearch 计算单位(Ingestion OCU)。

    阅读《可靠性》白皮书 
  • 使用 OpenSearch Service,您可以为 OpenSearch Ingestion 管道指定最小和最大 Ingestion OCU,它将根据管道的处理要求和客户端应用程序生成的负载自动进行纵向扩展和缩减。可观测性连接器与原生 Apache Spark 低级别插件接口集成在一起,以收集数据,同时限制 Apache Spark 作业的性能开销。此外,内置的自定义 Apache Spark 指标和日志收集器实施 API 消耗最佳实践,例如缓冲和指数回退,以便最大限度地减少对 Apache Spark 应用程序产生的影响。

    阅读《性能效率》白皮书 
  • OpenSearch Service 可观测性连接器会预先聚合某些指标,以减少后期处理和摄取的数量,从而优化所生成的指标和日志数量。这样就降低了过度消耗 Ingestion OCU 的风险。随后,OpenSearch Ingestion 管道利用动态扩展确保您不会由于处于不活动状态而产生费用;相反,您只需为管道的有效使用付费。您也可以根据需要启动和停止管道。OpenSearch 域也可以使用 UltraWarm 节点降低不经常访问的索引的成本。此外,本指引还减少了对于定制组件的需求,这样有助于进一步优化总拥有成本。

    阅读《成本优化》白皮书 
  • OpenSearch Ingestion 管道是原生无服务器管道,可以为数据摄取和转换提供弹性,从而最大限度地减少后端服务对环境产生的影响。本指引还支持预置的集群和无服务器集合,您可以使用 OpenSearch Serverless 进一步优化可持续性。此外,您还可以使用 OpenSearch 控制面板提供的洞察优化您的 Apache Spark 工作负载,并减少整体环境影响。

    阅读《可持续性》白皮书 

实施资源

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。

[内容类型]

[标题]

此[博客文章/电子书/指南/示例代码]演示了如何 [插入简短描述]。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。

此页内容对您是否有帮助?