当前位置: 首页 > news >正文

dbt doc 生成文档命令示例应用

DBT提供了强大的命令行工具,它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个关键特性是能够为数据模型生成文档,这就是dbt docs命令发挥作用的地方。本教程将指导您完成使用dbt生成和提供项目文档的过程。

dbt doc 命令

dbt docs命令有两个子命令:generate和serve。generate命令用于创建项目文档,而serve命令用于在web浏览器中查看此文档。

  • 生成工程文档

要为dbt项目生成文档,在终端中导航到dbt项目的根目录,并运行以下命令:

dbt docs generate

该命令将为您的项目创建一个带有文档的静态站点。该站点包括关于您的模型、测试、源代码等的信息。

  • 项目文档服务

生成文档之后,您可以使用serve命令在本地查看它。在终端上运行以下命令:

dbt docs serve

这将启动web服务器实例,并在默认的web浏览器中打开文档。我们可以浏览文档以查看有关dbt项目的信息。

  1. 浏览文档

生成的文档提供了关于dbt项目的大量信息。您可以使用project /Database切换在项目文件夹层次结构视图和以数据库为中心的表和视图集合之间切换。您还可以使用搜索栏来查找项目中的特定模型。

  1. 数据血缘关系

dbt文档的强大特性是它能够可视化模型之间的关系。我们可以通过点击模型页面中的“Lineage”选项卡来访问这个特性。这将显示所选模型的上游或下游的所有模型的图表,提供数据沿沿性的清晰视图。
在这里插入图片描述

dbt docs 示例

假设我们dbt项目有一个简单的模型,可以将原始销售数据转换为更有用的格式。模型定义了名为sales.sql的文件中:

-- models/sales.sql
{{ config(materialized='table') }}select    order_id,    product_id,    customer_id,    quantity,    price,    quantity * price as total_price,    order_datefrom raw.sales

同时定义模型的描述文件,sales.yaml:

# models/schema.yml
version: 2models:  - name: sales    description: This table contains transformed sales data.    columns:      - name: order_id        description: The unique identifier for each order.      - name: product_id        description: The unique identifier for each product.      - name: customer_id        description: The unique identifier for each customer.      - name: quantity        description: The quantity of the product sold in the order.      - name: price        description: The price of the product.      - name: total_price        description: The total price of the order, calculated as quantity * price.      - name: order_date        description: The date the order was placed.

这里只是示例,当然可以使用中文,更符合用户习惯。

现在可以使用dbt docs generate为这个模型生成文档。在命令行界面中导航到dbt项目根目录并运行生成文档命令:

dbt docs generate

该命令将在dbt项目中生成**target目录。在这个目录中,可以找到manifest.jsoncatalog.json**文件。这些文件包含有关dbt项目的元数据,基于这些元数据能生成文档web网页。

接下来,我们可以使用dbt docs serve在本地启动文档服务:

dbt docs serve

该命令将启动一个web服务器,并打开文档默认web浏览器。在这里可以看到sales模型的文档页面,其中包含在sales.yaml描述文件中定义的所有列描述和其他信息。

总结

dbt docs命令是为dbt项目生成和提供文档的强大工具。通过使用这个命令,我们可以确保团队和其他相关人员能够访问数据模型的最新的、准确的文档信息。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。

http://www.lryc.cn/news/459591.html

相关文章:

  • 【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!
  • 深入理解 Parquet 文件格式
  • 计算机挑战赛3
  • 深度学习:循环神经网络—RNN的原理
  • 蓝桥杯刷题--幸运数字
  • Node.js入门——fs、path模块、URL端口号、模块化导入导出、包、npm软件包管理器
  • 多元线性回归:机器学习中的经典模型探讨
  • 域1:安全与风险管理 第1章实现安全治理的原则和策略
  • 【大数据】学习大数据开发应该从哪些技术栈开始学习?
  • CentOS快速配置网络Docker快速部署
  • Grounded-SAM Demo部署搭建
  • C语言 | 第十六章 | 共用体 家庭收支软件-1
  • 【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning
  • OKHTTP 如何处理请求超时和重连机制
  • 基于Springboot vue的流浪狗领养管理系统设计与实现
  • 爬虫案例——网易新闻数据的爬取
  • SpringCloud 2023 Gateway的Filter配置介绍、类型、内置过滤器、自定义全局和单一内置过滤器
  • 从银幕到现实:擎天柱机器人即将改变我们的生活
  • 408算法题leetcode--第33天
  • OCR模型调研及详细安装
  • C++第六讲:STL--vector的使用及模拟实现
  • 2024年字节抖音前端面经,这次问的很基础!
  • vscode提交修改Failed to connect to github.com port 443: Timed out
  • 通过docker镜像安装elasticsearch和kibana
  • seaCMS v12.9代码审计学习(下半)
  • 麒麟信安CentOS安全加固案例获评中国信通院第三届“鼎新杯”数字化转型应用奖
  • Java 中消除 If-else 技巧总结
  • 每个平台团队都应该跟踪的API指标
  • Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍
  • 渗透测试 之 AD域渗透 【Kerberoasting】 攻击技术讲解 对应得工具详细介绍哟~ 以及相关示例 按照步骤做你也会哟