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

运行dbt snapshot提示unknown tag 'snapshot'错误如何解决

报错根因

从报错信息里的Compilation Error in model test_snapshot就能判断,dbt完全没把你的文件识别为快照,而是当成普通模型在解析,自然不认识{% snapshot %}这个快照专属的Jinja标签,具体触发原因:

  • 执行命令拼写错误:你运行的是dbt snpashot,正确的快照执行命令是dbt snapshot,snapshot单词里的n和p顺序写反后,dbt不会触发快照专属的解析逻辑。
  • 快照路径配置不匹配:如果项目根目录下dbt_project.yml里的snapshot-paths配置,没有包含你存放快照文件的snapshots目录,dbt就不会把这个目录下的SQL文件归为快照类资源,只会按普通模型规则解析。

等你解决上面两个核心问题,代码里还有一处拼写错误会触发后续报错:{{ ref('modle_in_sample_folder') }}里的模型名拼错了,和你实际存的上游模型名model_in_sample_folder对不上。

修复步骤
  1. 先改执行命令,把拼错的dbt snpashot换成正确的dbt snapshot再执行。
  2. 检查dbt_project.yml里的snapshot-paths配置,确保它包含你存放快照的目录,默认的正确配置如下:
snapshot-paths: ["snapshots"]

注意不要把快照文件放到models、intermediate这类存放普通模型的目录下,必须放在snapshot-paths指定的目录里,dbt才会按快照规则解析文件。
3. 修正快照SQL里ref()的参数,把拼错的modle_in_sample_folder改成和上游模型一致的model_in_sample_folder,避免后续报“引用模型不存在”的错误。

以上配置修正完成后,重新执行dbt snapshot就能正常运行快照逻辑了。

内容的提问来源于stack exchange,提问作者Cade Justad-Sandberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:48:24