DBT工具简介

What is DBT

在将数据加载到集中式数据仓库之前,必须对其进行清理、保持一致并根据需要进行组合。换句话说,必须转换数据,这就是我们所谓的 ETL(提取、转换、加载)和 ELT 中的“T”。

这是挖掘数据价值的关键一步。

而DBT是一个专门处理“T”的工具。

该工具是一个开发框架,将模块化 SQL 与软件工程最佳实践相结合,使数据转换可靠、快速且有趣。

dbt(数据构建工具)使具有数据分析师技能的人可以使用简单的选择语句来转换仓库中的数据,从而有效地使用代码创建整个转换过程。您可以使用 SQL 编写自定义业务逻辑、自动执行数据质量测试、部署代码,并通过与代码并行的数据文档交付可信数据。由于市场上数据工程专业人员的短缺,这在今天比以往任何时候都更加重要。任何了解 SQL 的人现在都可以构建生产级数据管道,从而降低了以前限制传统技术人员配备能力的进入壁垒。

简而言之,dbt(数据构建工具)将您的数据分析师转变为工程师,并允许他们拥有整个分析工程工作流程。

Why we need dbt or why we choose it.

1、更低的学习成本、更快的响应速度:任何知道如何编写 SQL SELECT 语句的人都可以构建模型、编写测试和安排作业,以生成可靠、可操作的数据集以进行分析。该工具充当数据仓库顶部的编排层,以改进和加速数据转换和集成过程。

2、更加规范的流程:dbt采用了工程式的开发方式,而非传统的散碎的sql脚本,更加方便我们协同开发、版本控制、迭代等。

3、更好的扩展性:原生支持jinjia,我们可以通过宏、sql模板增加代码的复用性,更简单的进行模块化开发。

4、更好的适配性:支持airByte、airFlow。原生支持postgres、BigQuery、SnowFlak等,同时对mysql等关系型数据库提供了对应的兼容插件。

5、可视化的文档,更加容易的监控数据关系、血缘

6、dbt core 开源

7、良好且持续增长的社区

How does it work

原理:获取您的DBT项目代码,编译成SQL,并通过执行器在您的数据库中运行。

How to use it

定义了 customer表最终的数据

通过dbt run 命令 执行

转换结果

Tips

1、dbt可以配置多线程,每个线程单独执行一个model

2、调优的时候,性能瓶颈不在dbt上,因为dbt是编译为sql命令后基于数据源执行的。所以当我们有数仓或高性能数据库集群的时候,我们完全可以不担心转换的性能问题。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值