dbt-labs/dbt-core

GitHub Trending (daily) 工具

摘要

dbt Core v2.0 是一个基于 Rust 的彻底重写版本,目前处于 Alpha 阶段。它承诺实现更快的解析速度、更严格的语言规范以及可扩展的 Parquet 工件,使分析师和工程师的数据转换更加高效。

dbt 使数据分析师和工程师能够使用软件工程师构建应用程序的相同实践来转换他们的数据。
查看原文
查看缓存全文

缓存时间: 2026/06/27 11:15

dbt-labs/dbt-core 源代码:https://github.com/dbt-labs/dbt-core

dbt Core v1 的开发已迁移到 1.latest 分支 (https://github.com/dbt-labs/dbt-core/tree/1.latest)。 main 分支现在托管 dbt Core v2.0(alpha 版本)—— 一款基于 Rust 完全重写的版本,是 Fusion 引擎的基础。如果你在寻找基于 Python 实现的 dbt Core,请切换到 1.latest 分支 (https://github.com/dbt-labs/dbt-core/tree/1.latest)。

dbt (https://www.getdbt.com/) 使数据分析师和工程师能够利用软件工程师构建应用程序的相同实践来转换数据。

架构

关于 dbt Core v2.0

🚧 dbt Core v2.0 目前处于 alpha 阶段。行为、API 以及磁盘格式在稳定版发布前均可能发生变化。

dbt Core v2.0 专为大规模性能而设计 —— 解析、编译和运行项目的时间相比 v1 大幅缩短。它采用 Apache 2.0 许可证发布,是 Fusion 引擎 (https://docs.getdbt.com/docs/fusion/about-fusion) 的基础。

与 v1 相比的主要变化:

  • 更快 —— 解析和编译时间显著提升,尤其是在最大的 dbt 项目上。
  • 更严格 —— 严格定义的语言规范在解析时强制保证正确性。
  • 更具可扩展性的产物 —— v2.0 生成 Parquet 产物,可以轻松查询、连接和分析,以了解你的 dbt 项目。这些产物包含了 JSON 产物(例如 manifest.json)中的所有内容,为了向后兼容性,JSON 产物仍会继续生成。
  • 更易安装 —— 作为单一自包含二进制文件分发,无需 Python 运行时或依赖管理。
  • 完全革新的本地文档体验 —— dbt docs 现在由这些新产物驱动,能够扩展到大型项目。

支持的操作系统和架构

dbt Core v2.0 及其驱动程序针对不同操作系统和架构进行编译。

图例:

  • 🟢 —— 当前支持
  • 🟡 —— 尚未支持
操作系统x86-64ARM
macOS🟢🟢
Linux🟢🟢
Windows🟢🟡

理解 dbt

使用 dbt 的分析师只需编写 select 语句即可转换数据,而 dbt 负责将这些语句转化为数据仓库中的表(tables)和视图(views)。这些 select 语句,即“模型”,构成了一个 dbt 项目。模型通常相互构建 —— dbt 可以轻松管理模型之间的关系 (https://docs.getdbt.com/docs/ref),并可视化这些关系 (https://docs.getdbt.com/docs/documentation),同时通过测试 (https://docs.getdbt.com/docs/testing) 来确保转换质量。

dbt dag

入门指南

首先选择一个发行版。dbt Core 是 dbt 的基础发行版。Fusion 在 dbt Core 之上扩展了额外的 SQL 理解能力。两个发行版均可免费安装并本地运行。

  • 如果你需要一款 Apache 2.0 许可的工具,并且能够审查其中的每一行代码,请安装 dbt Core (https://docs.getdbt.com/docs/local/install-dbt#dbt-core)。
  • 如果你需要一款可以本地使用的免费 CLI,请安装 Fusion (https://docs.getdbt.com/docs/local/install-dbt#dbt-fusion-engine-recommended)。它开箱即用功能比 dbt Core 更强大,并且如果你愿意,可以在未来无缝启用其他高级功能。

无论你选择哪个发行版,它们都属于同一个框架,拥有相同的语言规范,这意味着你的业务逻辑可在两者之间双向移植。

探索 dbt 平台 (https://docs.getdbt.com/docs/cloud/about-cloud/dbt-cloud-features) 以获得更强大的协作体验。

阅读介绍 (https://docs.getdbt.com/docs/introduction/) 和观点 (https://docs.getdbt.com/docs/about/viewpoint/)

加入 dbt 社区

  • 在 dbt 社区 Slack (http://community.getdbt.com/) 中参与讨论
  • 在 dbt Community Discourse (https://discourse.getdbt.com) 上阅读更多内容

报告 Bug 和贡献代码

  • 想要报告 Bug 或请求功能?请告诉我们并创建一个 issue (https://github.com/dbt-labs/dbt-core/issues/new/choose)
  • 想要帮助我们构建 dbt?请查看贡献指南 (https://github.com/dbt-labs/dbt-core/blob/HEAD/CONTRIBUTING.md)

行为准则

所有参与 dbt 项目代码库、问题追踪器、聊天室和邮件列表的参与者都应遵守 dbt 行为准则 (https://docs.getdbt.com/community/resources/code-of-conduct)。

许可证

dbt Core 采用 Apache License 2.0 许可证。

相似文章

TorQ: Kdb+ 生产框架

Hacker News Top

TorQ是一个面向kdb+的开源生产框架,提供核心功能、工具和最佳实践,帮助开发者高效构建和管理kdb+系统。

tursodatabase/turso

GitHub Trending (daily)

Turso Database 是一个用 Rust 编写的进程内 SQL 数据库,兼容 SQLite,具备 MVCC、变更数据捕获、向量支持以及多语言绑定功能。