Skip to content

摘要

dbt项目形成dbt有关项目的上下文以及如何转换数据(构建数据集)。通过设计,dbt强制执行dbt项目的顶层结构,如dbt_project.yml文件、models目录、snapshots目录等。在顶层目录中,您可以以满足组织和数据管道需求的任何方式来组织项目。

至少,项目所需要的只是dbt_project.yml配置文件。dbt支持许多不同的资源,因此一个项目也可能包括:

资源 描述
models模型 每个模型都存在于一个文件中,并包含将原始数据转换为可供分析的数据集的逻辑,更常见的是,是数据转换的一个中间步骤。
snapshots快照 一种捕获可变表状态的方法,以便以后可以引用它。
seeds种子 带有静态数据的CSV文件,您可以使用dbt将其加载到数据平台中.
测试 您可以编写SQL查询来测试项目中的模型和资源.
可以多次重用的代码块.
文档 生成项目文档.
数据源 一种命名和描述由提取和加载工具加载到仓库中的数据的方法.
暴露 一种定义和描述项目下游用途的方法.
度量 为您的项目定义指标的方法.
分析 一种在项目中组织分析SQL查询的方法.

在构建项目结构时,您应该考虑这些对组织工作流程的影响:

  • 人们将如何运行dbt命令 — 选择一个路径
  • 人们将如何在项目中导航 — 无论是IDE中的开发人员还是文档中的利益相关者
  • 们将如何配置模型 — 一些批量配置在目录级别更容易完成,因此人们不必记住在配置块中对每个新模型执行所有操作

项目配置

每个dbt项目都包括一个名为dbt_project.yml的项目配置文件。它定义了dbt项目和其他项目配置的目录。

修改dbt_project.yml设置常见的项目配置,例如:

YAML key Value描述
name 项目名称蛇形
version 项目版本
require-dbt-version 项目dbt限制版本[dbt Core版本]
(/dbt-versions/core)
profile dbt用于连接到数据平台的配置文件
model-paths 模型和源文件所在的目录
seed-paths 种子文件所在的目录
test-paths 测试文件所在的目录
analysis-paths 分析文件所在的目录
macro-paths 宏文件所在的目录
snapshot-paths 快照文件所在的目录
docs-paths 文档所在的目录
vars 要用于数据编译的项目变量

有关项目配置的完整详细信息,请参阅dbt_project.yml

创建新项目

您可以创建新项目,并通过在托管的git存储库(如GitHub、GitLab和BitBucket)上提供这些项目来与其他人共享

在您与数据平台建立连接后,您可以在dbt Cloud中初始化您的新项目并开始开发。或者,从命令行运行dbt init来设置新项目。

在项目初始化期间,dbt会在项目目录中创建示例模型文件,以帮助您快速开始开发。

示例项目

如果你想更深入地探索dbt项目,你可以克隆dbt Lab在GitHub上的Jaffle shop。这是一个可运行的项目,包含示例配置和有用的注释。

如果你想看看一个成熟的生产项目是什么样子的,请查看GitLab数据团队公共仓库.