You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Glue PySpark任务失败后CloudWatch指标glue.driver.aggregate.numFailedTasks未正确记录失败计数的问题排查

问题诊断与解决方案

看起来你遇到的核心问题是选的CloudWatch指标和任务失败类型不匹配,下面一步步给你拆解:

1. 为什么glue.driver.aggregate.numFailedTasks显示0?

这个指标的作用是统计Executor节点上执行的数据处理任务(比如分区数据计算的task)失败的数量,而你的任务是因为AnalysisException失败——这类错误属于Driver端的解析错误(比如表不存在、Schema不匹配、SQL语法错误等),Driver会直接终止整个任务,根本不会向Executor分发任何可执行的任务,所以自然不会产生"失败任务"的计数,指标值就是0。

2. 应该用哪个指标检测任务失败?

你需要改用glue.job.run.status这个指标,它专门用来监控Glue任务的整体运行状态:

  • 取值说明:0代表任务成功,1代表任务失败,2代表任务正在运行
  • 这个指标会在任务结束时上报状态值,完全覆盖你需要的"任务失败"检测场景

3. 修正你的CloudWatch告警配置

调整后的配置建议:

  • MetricName: glue.job.run.status
  • JobName: <MyGlueJobName>(保留你的具体Job名称)
  • JobRunId: ALL(如果要监控该Job的所有运行实例)
  • Statistic: Maximum 或 Latest(因为每个任务运行对应一个状态值,Sum在这里没有意义,Max/Latest能准确获取最新的状态)
  • Period: 1分钟(保持你的设置即可,确保能捕获任务结束的时间点)
  • 告警条件: 当指标值等于1时触发告警

4. 快速验证方法

你可以直接去CloudWatch控制台的Metrics > Glue > Job Metrics下,找到glue.job.run.status,筛选你的Job名称,查看最近那次失败运行对应的指标数据点,应该能看到值为1的记录,这就说明指标是正常上报的。

内容的提问来源于stack exchange,提问作者Stagg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 15:07:59