Spark应用性能诊断

AnalyticDB for MySQL企业版及湖仓版推出Spark应用诊断功能,若您提交的Spark应用存在性能问题,您可以根据诊断信息快速定位和分析性能瓶颈问题,优化Spark应用,提高问题解决效率。本文主要介绍如何进行Spark应用性能诊断以及性能诊断的示例。

前提条件

  • 已创建AnalyticDB MySQL企业版及湖仓版集群。具体操作,请参见创建集群

  • 已创建Job型资源组,且计算预留资源需大于等于8 ACU。具体操作,请参见新建资源组

  • 已为RAM用户授予AliyunADBDeveloperAccess权限。具体操作,请参见RAM子账号和权限

  • 已创建企业版及湖仓版集群的数据库账号。

  • 已授权AnalyticDB for MySQL扮演AliyunADBSparkProcessingDataRole角色来访问其他云资源。具体操作,请参见账号授权

应用场景

Spark应用性能诊断主要适用于以下场景:

  • 数据集性能分析:使用Spark处理大规模数据时,需要对数据集进行性能分析。使用性能诊断工具可以快速定位性能瓶颈(例如:内存峰值、Spill等),提高数据处理效率。

  • 大规模应用负载均衡:Spark应用在高并发负载运行时,可能会出现性能问题,例如:数据倾斜、长尾任务、负载不均衡。对Spark应用进行性能诊断,可以快速定位问题,便于您优化Spark应用。

使用限制

  • 仅支持诊断14天以内且执行成功的Spark应用。

  • 仅支持诊断Batch和Streaming类型的应用。

操作步骤

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版湖仓版页签下,单击目标集群ID。

  2. 在左侧导航栏,单击作业开发>Spark Jar 开发

  3. 应用列表区域,单击目标任务所在操作列的更多>历史

  4. 执行历史区域,单击目标任务操作列的诊断

    说明

    诊断完成后,会自动弹出诊断优化详情面板,若您提交的Spark应用存在性能问题,可以根据诊断信息优化Spark应用。