# Compass **Repository Path**: tomdev/compass ## Basic Information - **Project Name**: Compass - **Description**: 罗盘是一个大数据任务诊断平台,旨在提升用户排查问题效率,降低用户异常任务成本。 其主要功能特性如下: 非侵入式,即时诊断,无需修改已有的调度平台,即可体验诊断效果。 支持多种主流调度平台,例如DolphinScheduler、Airflow或自研等。 支持多版本Spark、Hadoop 2.x和3.x 任务日志诊断和解析。 支持工作流层异常诊断,识别各种失败和基线耗时异常问题。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 20 - **Created**: 2023-04-07 - **Last Updated**: 2023-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 罗盘 [English document](README.md) 罗盘是一个大数据任务诊断平台,旨在提升用户排查问题效率,降低用户异常任务成本。 其主要功能特性如下: - 非侵入式,即时诊断,无需修改已有的调度平台,即可体验诊断效果。 - 支持多种主流调度平台,例如DolphinScheduler、Airflow或自研等。 - 支持多版本Spark、Hadoop 2.x和3.x 任务日志诊断和解析。 - 支持工作流层异常诊断,识别各种失败和基线耗时异常问题。 - 支持引擎层异常诊断,包含数据倾斜、大表扫描、内存浪费等14种异常类型。 - 支持各种日志匹配规则编写和异常阈值调整,可自行根据实际场景优化。 罗盘已支持诊断类型概览:
诊断维度 | 诊断类型 | 类型说明 |
失败分析 | 运行失败 | 最终运行失败的任务 |
首次失败 | 重试次数大于1的成功任务 | |
长期失败 | 最近10天运行失败的任务 | |
耗时分析 | 基线时间异常 | 相对于历史正常结束时间,提前结束或晚点结束的任务 |
基线耗时异常 | 相对于历史正常运行时长,运行时间过长或过短的任务 | |
运行耗时长 | 运行时间超过2小时的任务 | |
报错分析 | sql失败 | 因sql执行问题而导致失败的任务 |
shuffle失败 | 因shuffle执行问题而导致失败的任务 | |
内存溢出 | 因内存溢出问题而导致失败的任务 | |
成本分析 | 内存浪费 | 内存使用峰值与总内存占比过低的任务 |
CPU浪费 | driver/executor计算时间与总CPU计算时间占比过低的任务 | |
效率分析 | 大表扫描 | 没有限制分区导致扫描行数过多的任务 |
OOM预警 | 广播表的累计内存与driver或executor任意一个内存占比过高的任务 | |
数据倾斜 | stage中存在task处理的最大数据量远大于中位数的任务 | |
Job耗时异常 | job空闲时间与job运行时间占比过高的任务 | |
Stage耗时异常 | stage空闲时间与stage运行时间占比过高的任务 | |
Task长尾 | stage中存在task最大运行耗时远大于中位数的任务 | |
HDFS卡顿 | stage中存在task处理速率过慢的任务 | |
推测执行Task过多 | stage中频繁出现task推测执行的任务 | |
全局排序异常 | 全局排序导致运行耗时过长的任务 |