1. 课程导论与监控体系总览
1.1 为什么 Spark 模型监控如此重要?
在生产环境中,Spark 模型(如 MLlib 训练的 PipelineModel、Spark NLP 模型或自定义 Transformer)并非“训练完就结束”。数据分布漂移、特征缺失、节点故障、资源争抢等因素,都会导致模型推理结果偏离预期。缺乏监控的模型如同“黑箱”——业务方依赖其输出做决策,而运维方却无法感知精度下降或服务中断。
核心痛点: 一次未被发现的模型退化,可能在数小时内造成数百万条错误预测,影响推荐、风控、定价等核心业务。
1.2 常见异常类型全景
根据生产一线运维经验,Spark 模型异常可归纳为以下四大类。理解分类是构建监控体系的第一步。
| 异常大类 | 典型子类 | 影响范围 | 发现难度 |
|---|---|---|---|
| 数据异常 | 特征缺失、分布漂移、异常值激增、Schema 不匹配 | 推理精度下降 | 高(需统计基线) |
| 模型异常 | 预测置信度骤降、类别倾斜、过拟合退化、版本回滚 | 业务决策错误 | 中(需实时指标) |
| 资源异常 | Executor OOM、Shuffle 倾斜、GC 抖动、Driver 瓶颈 | 服务延迟/中断 | 低(系统指标明显) |
| 基础设施异常 | 网络分区、磁盘写满、YARN/K8s 调度失败、镜像拉取超时 | 任务失败/挂起 | 低(平台告警) |
实战经验: 数据异常和模型异常往往“潜伏期长”,资源异常和基础设施异常则“爆发快”。监控体系需要同时覆盖这两类时间尺度。
1.3 监控体系总览:分层架构
一个完整的 Spark 模型监控体系,从下到上分为四层。每一层解决不同粒度的可观测性问题。
1.4 课程目标与学习路径
本课程旨在帮助学员建立从“被动救火”到“主动防御”的监控能力。完成学习后,你将能够:
- 设计监控方案: 根据业务场景选择指标、阈值与告警策略。
- 搭建监控管道: 集成 Spark 监听器、Prometheus、Grafana 等工具。
- 快速定位根因: 通过日志、指标、调用链三方位排查异常。
- 自动化修复: 实现模型回滚、特征补偿、资源弹性伸缩等自愈动作。
学习路径分为三个阶段,建议按顺序推进:
| 阶段 | 章节范围 | 核心产出 | 前置要求 |
|---|---|---|---|
| 基础篇 | 第 1-8 章 | 监控体系设计文档 + 基础指标采集脚本 | Spark 基础、Linux 基础 |
| 进阶篇 | 第 9-20 章 | 实时监控看板 + 异常检测 Pipeline | Python/Scala 编程、PromQL 基础 |
| 实战篇 | 第 21-30 章 | 生产级监控平台 + 故障自愈方案 | K8s/YARN 运维经验 |
重要提示: 本课程所有实战案例均基于 Spark 3.x + Scala 2.12 / Python 3.8+ 环境。请确保你的实验环境已安装对应版本,避免因版本差异导致命令失效。
1.5 一个典型异常排查流程
为了让你对后续内容有直观感受,这里展示一个“模型预测置信度骤降”的排查流程。这也是本课程反复使用的核心排查模型。
这个流程体现了“从业务现象到基础设施”的逐层下钻思路。在后续章节中,我们会为每一层配备具体的指标采集、阈值设定和根因定位方法。
课程承诺: 学完本课程,你将能够独立搭建一套覆盖“数据 → 模型 → 计算 → 基础设施”的全栈监控体系,并具备 80% 常见异常的 15 分钟内定位能力。