查看和管理现有 dbt 项目的信息

本主题介绍如何探索现有 dbt 项目对象的结构和元数据。这包括查看项目的 DAG、检查模型和源详细信息,以及执行 dbt 项目对象。

浏览项目 DAG 以查看模型沿袭和依赖项

有向无环图 (DAG) 显示 dbt 模型如何相互依赖,可视化数据沿袭,以便您可以:

  • 验证模型的构建位置 (database.schema)、模型如何物化,以及它具有哪些上游和下游依赖项。

  • 发现并改进低效的模型设计,以支持更好的性能和可扩展性。

要在 Snowsight 中浏览项目 DAG,请导航至 Databases » 您的数据库 » 您的模式 » dbt Projects,并选择您的项目。项目详细信息页面会显示模型及其关系的 Graph,以及项目 Descriptiondbt Project definitionPrivileges

Graph 中,点击模型节点,以直接从 DAG 检查模型、源或测试详细信息(例如已编译的 SQL 和配置)。

小技巧

如果您在工作区中工作,还可以通过在工作区编辑器中选择 Connect »View project 来访问项目详细信息页面。有关更多信息,请参阅 Workspaces for dbt Projects on Snowflake

通过 DAG 检查模型详细信息

当您在 DAG 中选择模型后,模型详细信息视图会打开,并显示:

  • 模型的类型、文件路径、目标对象、行数和列数。

  • 模型的描述(如果在 dbt 项目中定义了描述)。

  • 模型沿袭,列出上游和下游依赖项,并提供在它们之间导航的链接。

  • 模型的源代码及编译后的 SQL。

通过 DAG 执行模型

您可以直接从 DAG 中选择模型节点上的 ... 菜单,执行 dbt 项目对象的子集。可用的执行选项如下:

菜单选项

执行内容

等效的 --select 标志

Execute model

仅所选模型

--select model_name

Execute model+

该模型及所有下游依赖项

--select model_name+

Execute +model

该模型及所有上游父项

--select +model_name

Execute +model+

该模型及其父项和子项

--select +model_name+

选择任意选项都会打开 Execute dbt project 对话框,其中的 Additional flags 字段会预填充相应的 --select 值。在该对话框中,您可以执行以下操作:

  • 选择具体操作,例如 RunTestBuild

  • 选择配置文件目标(例如,devprod)。

  • 如果要细化选择,请在执行前编辑这些标志。

您可以在 SQL 和 Snowflake CLI 中使用带有 + 图表运算符的相同 --select 语法:

EXECUTE DBT PROJECT my_dbt_project
  ARGS = 'build --select +stg_customers+ --target dev';

有关支持的 dbt 命令和标志的更多信息,请参阅 支持的 dbt 命令和标志

查看 dbt 项目对象属性

查看 Snowflake 存储的 dbt 项目对象元数据,以了解其名称、所有者、默认版本以及文件在 Snowflake 内部 snow://dbt/... 暂存区的位置。

要查看特定 dbt 项目对象的属性(如名称、所有者、注释),请使用 DESCRIBE DBT PROJECT 命令,如以下示例所示:

DESCRIBE DBT PROJECT my_dbt_project;

输出显示对象的名称、所有者、注释、版本控制详细信息以及外部访问集成。有关更多信息,请参阅 DESCRIBE DBT PROJECT

查看所有 dbt 项目

当您想查看可访问的所有 dbt 项目对象及其关键元数据时,请使用 SHOW DBT PROJECTS。

SHOW DBT PROJECTS IN DATABASE mydb;

输出显示每个对象的数据库、架构、所有者、注释、创建时间和上次更新时间、版本控制详细信息以及外部访问集成。有关更多信息,请参阅 SHOW DBT PROJECTS

或者,使用 snow dbt 列表 命令。有关更多信息,请参阅 列出所有可用的 dbt 项目对象