Agent Skills
返回列表
💻

SQLMesh 变更计划与预览

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/plan-and-preview-warehouse-sql-model-changes-before-rollout-with-sqlmesh。

技能介绍

问题:改了 SQL 模型,却看不到上线会发生什么

在数仓里修改一个 SQL 模型,哪怕只是新增一列这样的小改动,也可能引发连锁反应:历史分区要不要回填、下游表是否受影响、回填会跑多久、会不会阻塞线上任务。很多团队的做法是直接发布、事后救火,把风险带进生产环境。

这个技能做什么

这个技能围绕 SQLMesh 的变更规划流程展开,核心能力包括:

  • 变更对比:部署前比对模型定义的变化,区分破坏性变更(删列、重命名列)与非破坏性变更(新增 new_column 这类列)。
  • 回填预览:评估模型变更后哪些历史数据需要重算,并观察回填范围。
  • 下游影响分析:查看依赖该模型的下游表,判断变更会波及到哪里。
  • 分阶段发布:先在预览环境验证变更,确认无误后再推进到生产仓库。

关键步骤大致是:用 sqlmesh plan 审视将要发生的变更,结合虚拟环境查看数据差异,再用 sqlmesh apply 按计划落地。对增量模型,SQLMesh 会追踪已被修改的数据,只运行必要的转换,避免全量重算。

适用边界

这类分析依赖完整的 warehouse 连接和 SQLMesh 环境,变更识别基于 SQLMesh 的模型元数据;如果模型没有纳入 SQLMesh 管理,或团队依赖外部调度器、手工脚本,就难以享受这些能力。此外,预览结果反映的是执行计划层面的影响,业务指标层面的验证仍需结合数据质量检查。

使用场景

  • 改完仓库里的 SQL 模型准备发布,想先看清这次改动算破坏性还是非破坏性变更、会波及哪些下游表
  • 给现有模型新增一列这类小改动,想知道历史数据要不要回填、回填范围有多大
  • 团队采用分阶段发布策略,想在预览环境先跑一遍新模型定义,确认数据无误后再推到生产
  • 增量模型重构后,想确认 SQLMesh 只对已修改的数据运行必要转换,而不是全量重算

适合人员

  • 数据工程师:负责把 SQL 转换发布到数仓,希望每次部署前先验证模型变更的影响范围
  • 数据平台工程师:维护 SQLMesh 环境的团队,需要梳理模型依赖关系和下游影响
  • 分析工程师:日常依赖上游模型产出报表,担心模型改动导致下游结果异常却事后才发现
  • 数仓技术负责人:负责制定分阶段发布规范,希望团队在推生产前先做变更计划和预览