代码 dbt:面向分析工程师的 SQL 转换工作流工具

2026-09-04 22:45:19

dbt:面向分析工程师的 SQL 转换工作流工具

dbt(Data Build Tool)是面向数据分析和工程师的开源工具,专注于 ETL/ELT 流程中的数据转换(Transform)环节,目标是把原始数据转换为适合分析的数据模型。

使用方式上,用户只需编写 SELECT 查询语句或 Python 代码,dbt 负责将这些语句转换为表、视图或数据集。多个查询(模型中称为 model)组成一个 dbt 项目,模型之间允许互相依赖,dbt 自动管理它们之间的关系和执行顺序。

dbt 将版本控制、模块化、可移植性、CI/CD、测试与文档化等软件工程实践引入数据分析工作流,核心功能如下:

  • 模块化开发:通过可编辑的查询语句或 Python 代码,省去转换流程中重复的表创建和维护工作
  • 动态 SQL:基于 Jinja 模板支持变量、循环、条件语句,提升代码复用性
  • 依赖管理:通过 ref 函数基于其他模型定义新模型,明确依赖关系与执行顺序
  • 文档生成:自动生成项目与数据文档,可视化表与字段的依赖关系
  • 模型测试:校验转换后模型的准确性和完整性
  • 包管理:代码模块化复用与共享
  • 种子文件:通过 CSV 加载参考表、配置表等静态数据
  • 数据快照:记录历史状态变化,支持数据回溯

支持的数据平台

dbt 可连接主流数据库、数据仓库、数据湖及查询引擎,覆盖包括:

AlloyDB、Apache Spark、Athena、Azure Synapse、BigQuery、Databricks、Dremio、Glue、IBM Netezza、Materialize、Microsoft Fabric、Oracle、PostgreSQL、Redshift、Snowflake、Trino、Teradata、Clickhouse、CrateDB、Databend、Doris、DuckDB、Hive、DB2、Impala、MySQL、SQL Server & Azure SQL、SQLite、Starrocks、TiDB、TimescaleDB、Spark 等。

两种产品形态

  • dbt Core:免费开源 CLI 工具,以命令行方式开发和运行 dbt 项目
  • dbt Cloud:基于 Web 的托管服务,提供 UI 界面及企业级功能;对个人开发者免费

dbt Cloud 可通过以下网址注册免费账号:

https://www.getdbt.com/signup

本地安装请参考官方文档:

https://docs.getdbt.com/

复制全文 生成海报 dbt 数据转换 ELT SQL 数据分析

推荐文章

程序员茄子在线接单