洞察管理

最近更新时间:2024-06-25 10:59:11

我的收藏
数据湖计算 DLC 为您提供敏捷高效的 Serverless 数据湖分析与计算服务,而 DLC 作为分布式计算平台,其查询性能受到多项内外部因素影响,例如:引擎 CU 规模、同时提交排队的任务数量、SQL 编写形式、Spark 参数设置等。数据湖计算 DLC 洞察管理提供了一个可视化的直观界面,帮助您快速了解当前查询性能表现以及影响性能的潜在因素,并获取性能优化建议。

数据湖计算 DLC 提供洞察管理功能包含任务洞察引擎用量洞察功能,协助用户更好地调整资源或优化任务逻辑。适用的业务场景:

1. 对 Spark 引擎有整体运行状况洞察的诉求,如:引擎下各任务运行时的资源抢占情况,引擎内资源使用情况,引擎执行时长,数据扫描大小,数据shuffle 大小等都有直观的展示与分析。
2. 可以自助排查分析任务运行情况的诉求,如:定位 Spark 任务运行缓慢或者失败的原因,如资源抢占,shuffle 异常,磁盘不足等情况,都有清晰的定位。

注意:
支持引擎及任务类型:目前暂支持 SuperSQ L中的 Spark 类型洞察。



任务洞察

任务洞察是基于任务视角,帮助用户可以快速定位已完成的任务的优化分析与优化建议。

操作步骤

登录数据湖计算DLC控制台,选择洞察管理功能后,切换至任务洞察页面。




洞察概览

日级别统计洞察出来的待优化的任务分布情况和走势分布,可以对每日的任务有一个更直观的了解。




任务洞察

任务洞察功能支持分析每个任务执行过的汇总 metrics 以及洞察出可优化的问题。
当任务执行完成后,用户只需要确认需要洞察的任务,在操作栏点击“任务洞察”即可查看。




根据当前任务的实际执行情况,DLC 任务洞察将结合数据分析及算法规则,给出相应的调优建议





引擎用量洞察

当集群资源紧张时,会出现任务提交到了引擎,却在引擎内排队的情况,但用户无法感知,可能会继续提交任务,导致任务阻塞情况严重。
引擎用量洞察以引擎为维度,把引擎下的所有任务从提交到引擎内执行情况的分布情况统一展示出来,帮助客户可以快速分析引擎的使用大致情况。
注意:实时的引擎执行耗时和数据扫描量数据目前只有 sparkSQL 引擎才有,Spark作业引擎需要等待洞察完成后,才有排队耗时及引擎内执行耗时。

登录数据湖计算DLC控制台,选择洞察管理功能后,切换至引擎用量洞察页面,选择需要查看的数据引擎,即可查看。




如何开启洞察功能

步骤一:存量 spark 引擎升级 SuperSQL 引擎内核镜像
(新购引擎可以跳过该步骤)进入 SuperSQL 引擎列表页 ,选择需要洞察的引擎名称→内核管理→点击版本升级(默认升级到最新内核)






步骤二:升级后,添加参数配置
选择引擎→添加 spark 参数配置:spark.dlc.extraListeners=org.apache.spark.dlc.listener.AnalyserListener







洞察重点指标概览

指标名称
名称描述
资源抢占
sql 开始执行的 task 延迟时间>stage提交时间 1 分钟,或延迟时长超过总运行时长的20%
shuffle 异常
stage 执行出现 shuffle 相关错误栈信息
慢 task
stage 中 task 时长 > stage 里其他 task 平均时长的 2 倍
数据倾斜
task shuffle 数据 > task 平均 shuffle 数据大小的 2 倍
磁盘或内存不足
stage 执行错误栈信息中包含了 oom 或者 磁盘不足的信息 或者 cos带宽限制报错
引擎执行时间
反映了在 Spark 引擎执行的第一个task时间(任务第一次抢占cpu开始执行的时间)
CU 消耗
体现任务真正消耗资源的情况,统计方式是统计所有 spark task executor runtime 累加值,因为每个 Spark 任务都是多 CU 并行执行,由于CU消耗时长是串行叠加的,所以会大于引擎内执行时长
数据扫描大小
spark 每个 stage 的 input bytes 大小汇总
输出总大小
spark 每个 stage 的 output bytes 大小汇总
影响数据大小和行数
当更新表,影响了多少大小的表数据和行数
并行任务
展示任务并行执行的情况,方便分析被影响到的任务(最多200条)