2. 现有AI平台资产盘点与依赖分析

迁移到 Databricks AI 平台之前,最危险的做法是“先动手搬,再发现漏了什么”。一个看似独立的模型服务,背后往往牵着特征表、训练脚本、调度任务、服务主体和权限策略。本节的目标不是罗列资产清单,而是把资产之间的依赖关系显性化,并据此输出一张可排序、可决策的迁移影响矩阵。

一、盘点对象:六类资产与它们的“接口面”

盘点要落到具体对象,而不是笼统的“AI 平台”。建议按六类资产分别采集,每类都记录其对外接口面,因为接口面决定了迁移时的耦合强度。

  • 数据管道:批处理作业、流式作业、ETL/ELT 脚本、外部数据源连接(JDBC、对象存储、消息队列)。关键字段:输入源、输出表、更新频率、SLA、是否含状态。
  • 特征工程:特征计算逻辑、特征表(离线/在线)、特征回填任务、特征版本。关键字段:特征名、实体主键、时间窗口、离线与在线一致性要求。
  • 模型训练:训练脚本、超参配置、实验跟踪记录、训练数据快照、GPU/CPU 资源画像。关键字段:框架与版本、依赖库、训练时长、可复现性要求。
  • 模型服务:在线推理 API、批推理作业、模型注册与版本、灰度/回滚策略。关键字段:QPS、延迟预算、模型格式、调用方。
  • 调度:作业编排(DAG)、触发方式(定时/事件/依赖)、重试与告警、跨作业依赖。关键字段:调度器类型、依赖边、失败处理。
  • 权限:服务主体、密钥/凭证、数据访问授权、模型与端点访问控制。关键字段:身份来源、授权范围、密钥轮换方式。

采集时建议用“资产—接口—依赖”三列记录,例如:资产=用户流失预测训练脚本;接口=读取 feature_user_30d 表、写入 MLflow 实验;依赖=特征回填 DAG、GPU 集群策略、服务主体 sp-etl-prod。这样后续才能算出影响面。

二、依赖分析:把隐式耦合变成有向图

依赖分析的核心是识别三类边:数据依赖(谁读谁的表)、调度依赖(谁等谁完成)、权限依赖(谁用谁的身份)。很多迁移事故并非代码问题,而是权限主体在目标平台不存在,或调度依赖被切断导致上游未就绪。

实操上可以先用元数据查询拉出依赖边。例如在源平台查询表级血缘:

-- 示例:查询某特征表的下游消费者(示意 SQL,字段名按实际元数据调整)
SELECT downstream_object, object_type, owner
FROM lineage_edges
WHERE upstream_object = 'feature_user_30d'
  AND object_type IN ('NOTEBOOK','JOB','MODEL_ENDPOINT');

对调度依赖,则导出 DAG 的边列表,标记跨团队、跨环境的边。对权限依赖,导出所有服务主体及其授权对象,重点标注“仅存在于源平台”的身份。完成这一步后,你会得到一张有向图,节点是资产,边是依赖,边上带类型标签。

判断依赖强弱的经验规则:若下游在迁移后 24 小时内必须继续产出,且上游未同步迁移,则该边为强依赖,必须纳入同一迁移批次或提供兼容层。

三、迁移影响矩阵:从依赖图到决策表

影响矩阵不是简单打分,而是把“迁移难度”和“业务影响”两个维度交叉,再叠加依赖数量,形成可排序的批次建议。建议字段如下:资产名称、资产类型、依赖数量(上游/下游)、迁移难度(1–5)、业务影响(1–5)、是否强依赖、建议批次、备注。

下面这张图展示了从六类资产采集、依赖边识别,到影响矩阵与批次决策的完整链路,可作为盘点工作的结构参照。

AI 平台资产盘点 → 依赖分析 → 迁移影响矩阵 数据管道 批/流 · 输入输出表 特征工程 离线/在线 · 版本 模型训练 框架 · 实验 · 资源 模型服务 API · 批推理 · 灰度 调度 DAG · 触发 · 重试 权限 主体 · 密钥 · 授权 依赖边识别 数据依赖:读/写表 调度依赖:DAG 边 权限依赖:主体授权 标注强/弱依赖 跨团队/跨环境边 迁移影响矩阵(示例) 资产 依赖数 难度 影响 批次 特征表 feature_user_30d 8 4 5 P0 流失预测训练脚本 5 3 4 P1 在线推理 API v2 6 5 5 P0 夜间批推理作业 3 2 3 P2 调度 DAG: daily_feature 7 4 4 P1 服务主体 sp-etl-prod 9 3 5 P0 批次决策规则 P0:强依赖 + 影响 5 → 与上游同批迁移,先建兼容层 P1:依赖中等 + 影响 4 → 次批迁移,提前验证权限主体 P2:依赖少 + 影响 ≤3 → 末批迁移,可并行改造

四、实操示例:一次特征表迁移的影响判定

假设源平台有一张特征表 feature_user_30d,被 3 个训练脚本、2 个在线推理端点、1 个批推理作业和 2 个报表任务消费,共 8 条下游边。其中在线推理端点要求延迟低于 80ms,且特征必须在线可用。迁移难度评为 4(涉及在线特征存储改造),业务影响评为 5(直接影响线上推荐)。因此该资产进入 P0 批次,且必须与在线特征存储的迁移同步进行。

权限侧要特别检查:该表由服务主体 sp-etl-prod 写入,若目标平台使用 Unity Catalog,需要提前创建对应服务主体并授予 USE CATALOG、USE SCHEMA、SELECT、MODIFY 权限。调度侧要确认原 DAG 中 daily_feature 的上游数据管道是否也在迁移范围内,否则会出现“特征任务已迁、上游未迁”的断链。

常见遗漏:只盘点了代码和表,没有盘点密钥与凭证的轮换方式。若源平台使用长期密钥而目标平台要求短期令牌,迁移后作业会在首次令牌过期时集体失败,且往往发生在夜间批处理时段。

五、盘点成果的交付形态

建议最终交付三份材料:一份资产清单(含接口面字段)、一份依赖边列表(含类型与强弱标记)、一份迁移影响矩阵(含批次建议)。矩阵中的每一行都应能追溯到具体的依赖边,避免“拍脑袋定批次”。当依赖图与矩阵同时更新时,迁移计划才具备可执行性和可审计性。

完成本节盘点后,你会得到一张清晰的迁移地图:哪些资产必须先行、哪些可以并行、哪些需要兼容层过渡。这张地图将直接决定后续迁移批次划分与资源投入顺序。