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文章来源:https://www.toymoban.com/news/detail-449183.html
2、调优的时候,性能瓶颈不在dbt上,因为dbt是编译为sql命令后基于数据源执行的。所以当我们有数仓或高性能数据库集群的时候,我们完全可以不担心转换的性能问题。文章来源地址https://www.toymoban.com/news/detail-449183.html
到了这里,关于DBT工具简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!