AnalyticDB for MySQL企业版及湖仓版推出Spark应用诊断功能,若您提交的Spark应用存在性能问题,您可以根据诊断信息快速定位和分析性能瓶颈问题,优化Spark应用,提高问题解决效率。本文主要介绍如何进行Spark应用性能诊断以及性能诊断的示例。
前提条件
已创建AnalyticDB MySQL企业版及湖仓版集群。具体操作,请参见创建集群。
已创建Job型资源组,且计算预留资源需大于等于8 ACU。具体操作,请参见新建资源组。
已为RAM用户授予AliyunADBDeveloperAccess权限。具体操作,请参见RAM子账号和权限。
已创建企业版及湖仓版集群的数据库账号。
如果是通过阿里云账号访问,只需创建高权限账号。具体操作,请参见创建高权限账号。
如果是通过RAM用户访问,需要创建高权限账号和普通账号并且将RAM用户绑定到普通账号上。具体操作,请参见创建数据库账号和绑定或解绑RAM用户与数据库账号。
已授权AnalyticDB for MySQL扮演AliyunADBSparkProcessingDataRole角色来访问其他云资源。具体操作,请参见账号授权。
应用场景
Spark应用性能诊断主要适用于以下场景:
数据集性能分析:使用Spark处理大规模数据时,需要对数据集进行性能分析。使用性能诊断工具可以快速定位性能瓶颈(例如:内存峰值、Spill等),提高数据处理效率。
大规模应用负载均衡:Spark应用在高并发负载运行时,可能会出现性能问题,例如:数据倾斜、长尾任务、负载不均衡。对Spark应用进行性能诊断,可以快速定位问题,便于您优化Spark应用。
使用限制
仅支持诊断14天以内且执行成功的Spark应用。
仅支持诊断Batch和Streaming类型的应用。
操作步骤
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版或湖仓版页签下,单击目标集群ID。
在左侧导航栏,单击作业开发>Spark Jar 开发。
在应用列表区域,单击目标任务所在操作列的更多>历史。
在执行历史区域,单击目标任务操作列的诊断。
说明诊断完成后,会自动弹出诊断优化详情面板,若您提交的Spark应用存在性能问题,可以根据诊断信息优化Spark应用。