1. 课程导论与监控体系总览

1.1 为什么 Spark 模型监控如此重要?

在生产环境中,Spark 模型(如 MLlib 训练的 PipelineModel、Spark NLP 模型或自定义 Transformer)并非“训练完就结束”。数据分布漂移、特征缺失、节点故障、资源争抢等因素,都会导致模型推理结果偏离预期。缺乏监控的模型如同“黑箱”——业务方依赖其输出做决策,而运维方却无法感知精度下降或服务中断。

核心痛点: 一次未被发现的模型退化,可能在数小时内造成数百万条错误预测,影响推荐、风控、定价等核心业务。

1.2 常见异常类型全景

根据生产一线运维经验,Spark 模型异常可归纳为以下四大类。理解分类是构建监控体系的第一步。

异常大类 典型子类 影响范围 发现难度
数据异常 特征缺失、分布漂移、异常值激增、Schema 不匹配 推理精度下降 高(需统计基线)
模型异常 预测置信度骤降、类别倾斜、过拟合退化、版本回滚 业务决策错误 中(需实时指标)
资源异常 Executor OOM、Shuffle 倾斜、GC 抖动、Driver 瓶颈 服务延迟/中断 低(系统指标明显)
基础设施异常 网络分区、磁盘写满、YARN/K8s 调度失败、镜像拉取超时 任务失败/挂起 低(平台告警)
实战经验: 数据异常和模型异常往往“潜伏期长”,资源异常和基础设施异常则“爆发快”。监控体系需要同时覆盖这两类时间尺度。

1.3 监控体系总览:分层架构

一个完整的 Spark 模型监控体系,从下到上分为四层。每一层解决不同粒度的可观测性问题。

Spark 模型监控体系分层架构 Spark 模型监控体系分层架构 业务层 预测置信度 · 类别分布 · 业务 KPI 偏差 · 模型版本对比 模型层 特征分布漂移 · 推理延迟 · 模型加载状态 · 异常检测 计算层 Executor 资源 · Shuffle 指标 · GC 时间 · 任务重试率 基础设施层 集群资源 · 网络 I/O · 磁盘空间 · 容器/调度器状态 业务可观测性 模型可观测性 计算可观测性 基础设施可观测性 每一层都依赖下层提供的数据,上层异常往往由下层问题传导引起

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 一个典型异常排查流程

为了让你对后续内容有直观感受,这里展示一个“模型预测置信度骤降”的排查流程。这也是本课程反复使用的核心排查模型。

模型预测置信度骤降排查流程 模型预测置信度骤降 · 典型排查流程 告警触发 检查输入特征分布 验证模型版本与元数据 排查 Executor 资源瓶颈

这个流程体现了“从业务现象到基础设施”的逐层下钻思路。在后续章节中,我们会为每一层配备具体的指标采集、阈值设定和根因定位方法。

课程承诺: 学完本课程,你将能够独立搭建一套覆盖“数据 → 模型 → 计算 → 基础设施”的全栈监控体系,并具备 80% 常见异常的 15 分钟内定位能力。