支持的 dbt Projects on Snowflake 的 dbt Core 版本

Snowflake 为 dbt 项目提供托管运行时,以确保安全且可预测的执行环境。由于 dbt Core 版本可能会引入重大变更或安全漏洞,因此 Snowflake 遵循每个版本的结构化生命周期。此策略允许用户固定特定版本以实现治理和可重复性,同时为所需迁移提供明确的时间表。

dbt 项目支持的版本

支持的 dbt Core 版本

Snowflake 支持级别

dbt Labs 支持

1.10.15

主动支持

关键支持截止日期为 2026 年 6 月 15 日

1.9.4

主动支持

已弃用

DBT_VERSION 参数根据版本隐式定义执行引擎,如下表所示。

基于版本的引擎映射

用户输入 (DBT_VERSION)

条件

生成的引擎

'1.x'(例如 1.9.4

版本 < 2.0

dbt Core(基于 Python)

查看支持的 dbt Core 版本

要查看支持的 dbt Core 版本,请运行 SYSTEM$SUPPORTED_DBT_VERSIONS 系统函数,如以下示例所示:

SELECT SYSTEM$SUPPORTED_DBT_VERSIONS();
[{"dbt_version":"1.9.4","type":"dbt Core"},{"dbt_version":"1.10.15","type":"dbt Core"}]

更改 dbt Core 执行版本

要更改 dbt 项目对象将执行的 dbt Core 版本,请运行 ALTER DBT PROJECT 命令,如以下示例所示:

ALTER DBT PROJECT my_dbt_project SET DBT_VERSION = '1.10.15';

创建固定到版本的 dbt 项目

以下示例创建了一个固定到 1.10.15 dbt 版本的 dbt 项目:

CREATE OR REPLACE DBT PROJECT my_dbt_project
  FROM '@my_stage/dbt_files'
  DBT_VERSION = '1.10.15';

有关详细信息和示例,请参阅 CREATE DBT PROJECTALTER DBT PROJECT

弃用和停用的工作原理

  • Snowflake 支持的版本:这些版本适用于所有新项目和现有项目。Snowflake 提供全面的技术支持,包括安全补丁。

  • Snowflake 已弃用的版本:这些版本的活跃开发周期已结束。虽然它们对现有项目仍然完全可用,但不建议用户在已弃用的版本上启动新项目。

  • Snowflake 已停用的版本:这些版本已正式从 Snowflake 环境中移除。在此暂存区,任何固定到已停用版本的项目都将无法执行,直到其更新到当前支持的版本。

  • dbt Core 支持级别:即使版本根据 dbt Labs (https://docs.getdbt.com/docs/dbt-versions/core#latest-releases) 达到 Critical SupportDeprecatedEnd of Life 状态,它在 Snowflake 上仍然受支持。这意味着您不会被迫立即升级,只要您愿意,就可以维护现有的环境。