dbt README

The project's README from github.com/dbt-labs/dbt. As one markdown file: README.md.

dbt logo

CI Badge

[!WARNING] dbt v1 development has moved to the 1.latest branch. The main branch now contains all the Apache 2.0 source code of dbt v2.0 — a ground-up rewrite of dbt in Rust. If you're looking for the v1 Python implementation of the dbt framework, switch to 1.latest.

dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

architecture

About dbt v2.0

🚧 dbt v2.0 is in beta. Behavior, APIs, and on-disk formats may change before the stable release.

dbt v2.0 is engineered for performance at scale. It parses, compiles, and runs projects in a fraction of the time compared to v1. The source code in this repository is available to everyone under the standard Apache 2.0 license. dbt is a distribution of the dbt repository with dbt-specific customizations released under a dbt product license.

The big shifts from v1:

Supported operating systems and architectures

dbt v2.0 and its drivers are compiled per operating system and architecture.

Legend:

Operating system x86-64 ARM
macOS 🟢 🟢
Linux 🟢 🟢
Windows 🟢 🟡

Understanding dbt

Analysts using dbt can transform their data by simply writing select statements, while dbt handles turning these statements into tables and views in a data warehouse.

These select statements, or "models", form a dbt project. Models frequently build on top of one another – dbt makes it easy to manage relationships between models, and visualize these relationships, as well as assure the quality of your transformations through testing.

dbt dag

Getting started

Join the dbt Community

Reporting bugs and contributing code

Code of Conduct

Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the dbt Code of Conduct.

License

The source code in this repository is licensed under the Apache License 2.0.

dbt (dbt-labs/dbt)

Searching Database…

14K ·GitHub
这是什么?dbt 让数据分析师和工程师通过编写 SQL 查询语句(即「模型」),在数据仓库中对数据进行转换。同时,它还能应用软件工程师开发应用时的同类做法,例如版本控制、测试和模块化。
现在它还是 Python 工具吗?dbt v2.0 是用 Rust 从头重写的版本,以单个独立的命令行二进制文件发布,而不再是 Python 包;旧的 v1 Python 版本仍保留在另一个分支上。
我该如何开始使用 dbt?安装适用于你的操作系统和芯片架构的 dbt v2.0 二进制文件,然后在 dbt 项目中以「模型」的形式编写 SQL 查询语句;dbt 会把它们转换为数据仓库中的表和视图。
运行 dbt v2.0 需要安装 Python 吗?不需要。与 v1 不同,v2.0 以单个独立的二进制文件发布,无需 Python 运行环境,也无需管理依赖。
dbt v2.0 可以用于生产环境吗?目前仍处于测试版阶段,因此在正式版发布前,其行为、API 和磁盘文件格式都可能发生变化;Windows 支持也仅限 x86-64 架构,暂不支持 ARM。
它支持哪些操作系统和芯片?macOS 和 Linux 同时支持 x86-64 和 ARM 架构;Windows 仅支持 x86-64,ARM 支持尚未提供。
dbt 旧的 Python 版本怎么样了?dbt v1 的开发已转移到 1.latest 分支;main 分支现在存放的是基于 Rust 的全新 v2.0 重写版本。
dbt 中的「模型」到底是什么?模型就是一条 SQL 查询语句,dbt 会将其编译并物化为数据仓库中的一张表或一个视图,同时由 dbt 管理各模型之间的依赖关系。
dbt 团队为什么要用 Rust 重写?为了在大规模场景下提升性能。v2.0 解析、编译和运行项目所用的时间,仅为 v1 Python 版本的一小部分,在大型项目上尤其明显。
dbt 生成的产物有什么新变化?v2.0 会生成 Parquet 格式的产物,便于查询和关联,以分析项目;同时仍会生成原有的 JSON 产物(如 manifest.json),以保证向后兼容。
What are similar projects?walshadow, airbyte, hotdata-cli, cube, ClickHouse, pgterm, superset, trino
Creator
dbt-labs
Size
126.4 MB
Stars
14K
Age
10y
Commits · 90 Days