什么是dbt?
关于dbt¶
DBT 针对您的数据平台编译并运行您的分析代码,使您和团队能够在指标、洞察和业务定义的单一事实来源上进行协作。这种单一事实来源与为数据定义测试的能力相结合,可在逻辑更改时减少错误,并在出现问题时提醒您。
阅读更多关于我们为什么希望数据分析师像软件工程师一样工作
DBT 优化您的工作流程¶
- 避免编写DML和DDL来删除表和管理架构更改。仅使用 SQL 语句或 Python 编写业务逻辑,返回所需的数据集,且很好地处理物化.
- 构建可重用或模块化的数据模型,这些数据模型可以在后续工作中引用,而不是从每次分析的原始数据开始。.
- 显著减少查询的运行时间:利用元数据查找要优化的长时间运行的模型,并使用 dbt 易于配置和使用的
增量模型. - 利用
宏、hooks和包管理编写整洁的代码
DBT 提供更可靠的分析¶
- 不再复制和粘贴 SQL,这可能会导致逻辑更改时出错。相反,构建可重用的数据模型,并将其提取到后续模型和分析中。更改一次模型,该更改将传播到其所有依赖项。
- 发布特定数据模型的规范版本,封装所有复杂的业务逻辑。此模型之上的所有分析都将包含相同的业务逻辑,而无需重新实现它。
- 使用成熟的源代码管理流程,如分支、拉取请求和代码评审。
- 在基础数据上快速轻松地编写数据质量测试。许多分析错误是由数据中的边缘情况引起的:测试可帮助分析师查找和处理这些边缘情况。
DBT产品¶
你可以访问DBT命令行程序或者DBT云服务,DBT云服务是DBT命令行程序上搭建的,同时它也提供:
- 基于 Web 的 UI,因此更易于访问
- 托管环境,因此启动和运行速度更快
- 差异化功能,例如元数据、应用内作业调度程序、可观测性、与其他工具的集成、集成开发环境 (IDE) 等。
DBT云服务¶
dbt Core¶
dbt Core是一个开源免费工具,它让数据团队使用分析工程来转换数据成为最佳实践。您可以在命令行上安装和使用 dbt Core。通过 dbt Core 的
dbt的强大功能¶
作为 dbt 用户,您的主要关注点将是编写反映核心业务逻辑的模型(如select查询),无需编写固定代码来创建表和视图,也无需定义模型的执行顺序。相反,dbt 会为您将这些模型转换为数据仓库中的对象。
| 特征 | 详情 |
|---|---|
| 处理可重复的代码以将查询转化为关联关系 | 对于您创建的每个模型,您可以轻松地配置一个 *materialization(物化方式) |