开源软件DBT中文社区
微信号:DBT_CN
QQ群:551308350
DBT项目结构
-
关于DBT项目
dbt 项目告知 dbt 项目的上下文以及如何转换数据(构建数据集)。根据设计,dbt 强制执行 dbt 项目的顶级结构,如文件、目录、目录等。在顶级目录中,可以满足组织和数据管道需求的任何方式组织项目。
dbt_project.yml
models
snapshots
至少,项目需要的只是项目配置文件。DBT 支持许多不同的资源,因此项目还可能包括:dbt_project.yml-
模型 models
每个模型都位于单个文件中,并包含将原始数据转换为可供分析的数据集的逻辑,或者更常见的是,是此类转换的中间步骤。 -
快照 snapshots
一种捕获可变表状态的方法,以便稍后可以参考它。 -
种子 seeds
CSV 文件包含静态数据,您可以使用 dbt 将其加载到数据平台中。 -
测试 tests
可以编写的 SQL 查询来测试项目中的模型和资源。 -
宏 macros
可以多次重用的代码块。 -
文档 docs
您可以生成的项目文档。 -
来源 sources
一种命名和描述通过提取和加载工具加载到仓库中的数据的方法。 -
暴露 exposures
一种定义和描述项目下游使用的方法。 -
指标 metrics
一种为项目定义指标的方法。 -
分析 analysis
一种在项目中组织分析 SQL 查询的方法,例如 QuickBooks 中的总账。
在构建项目结构时,应考虑对组织工作流的以下影响:
- 人们将如何运行 dbt 命令 — 选择路径
- 人们如何在项目中导航 — 无论是作为 IDE 中的开发人员还是文档中的利益干系人
- 人们将如何配置模型 - 一些批量配置在目录级别更容易完成,因此人们不必记住在每个新模型的配置块中执行所有操作
项目配置
每个 dbt 项目都包含一个名为 的项目配置文件。它定义了 dbt 项目的目录和其他项目配置。dbt_project.yml- name 项目名称
- version 项目的版本
- require-dbt-version 将项目限制为仅使用一系列 dbt 核心版本
- profile dbt用于连接到数据平台的配置文件
- model-paths 模型和源文件所在的目录
- seed-paths 种子文件所在的目录
- test-paths 测试文件所在的目录
- analysis-paths 分析所在的目录
- macro-paths 宏所在的目录
- snapshot-paths 快照所在的目录
- docs-paths 文档块所在的目录
- vars 要用于数据编译的项目变量
新建项目
您可以创建新项目并通过在托管的 git 存储库(如 GitHub、GitLab 和 BitBucket)上提供它们来与其他人共享它们。设置与数据平台的连接后,您可以在 dbt Cloud 中初始化新项目并开始开发。或者,从命令行运行 dbt init 来设置新项目。
在项目初始化期间,dbt 会在项目目录中创建示例模型文件,以帮助您快速开始开发。
示例项目
如果你想更深入地探索dbt项目,你可以在GitHub上克隆dbt Lab的Jaffle商店。这是一个可运行的项目,包含示例配置和有用的说明。如果想要了解成熟的生产项目是什么样子的,请查看 GitLab 数据团队公共存储库。
-