DBT项目结构
创始人
2025-05-28 05:29:24
0

Dazdata MDS

关于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 数据团队公共存储库。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...