使用dbt在Snowflake创建物化视图失败求助
问题原因及解决方法
问题场景
使用dbt-snowflake==1.10.3搭配dbt Core 1.11.0-rc2(预发布版)创建物化视图时触发错误:
Field "type" of type Optional[SnowflakeRelationType] in SnowflakeRelation has invalid value 'materialized_view'
创建普通视图无异常,dbt debug校验正常。
原因
dbt Core与dbt-snowflake插件版本不兼容:
dbt-snowflake==1.10.3是适配dbt Core 1.10.x稳定版的正式插件- dbt Core 1.11.0-rc2作为预发布版本,内部的
SnowflakeRelationType枚举类型已做调整,但dbt-snowflake==1.10.3未同步支持该预发布版本的新定义,导致物化视图的类型无法被正确识别。
解决方法
推荐以下两种方案,优先选择第一种:
降级dbt Core到匹配的稳定版
执行命令将dbt Core降级至1.10系列最新稳定版:pip install dbt-core==1.10.15降级完成后重新执行
dbt run --select命令即可创建物化视图。升级dbt-snowflake到适配dbt Core 1.11的版本(若可用)
若官方已发布适配1.11.x系列的dbt-snowflake版本,可执行升级命令:pip install --upgrade dbt-snowflake注意:由于1.11.0-rc2是预发布版,对应插件可能处于开发阶段,稳定性无法保证,优先推荐降级方案。
内容的提问来源于stack exchange,提问作者amnesic
相关产品推荐
相关产品推荐

