数据转换工具DBT介绍及实操(上)

这篇具有很好参考价值的文章主要介绍了数据转换工具DBT介绍及实操(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是DBT

dbt (data build tool)是一款流行的开源数据转换工具,能够通过 SQL 实现数据转化,将命令转化为表或者视图,提升数据分析师的工作效率。dbt 主要功能在于转换数据库或数据仓库中的数据,在 E(Extract)、L(Load)、T(Transform) 的流程中,仅负责转换(transform)的过程。 通过 dbt插件,数据分析师能够通过 SQL 直接建立表单并匹配数据,而无需关注创建 table 或 view 的过程,并且可以直观地看到数据的流动;同时能够运用 dbt 编写 SQL、进行测试、以及包管理等功能。
二、DBT官方支持的数据源
Data Platform     latest verified version
AlloyDB     (same as dbt-postgres)
Azure Synapse     1.3.0
BigQuery     1.2.0
Databricks     1.3.0 🚧
Dremio     1.3.0 🚧
Postgres     1.2.0
Redshift     1.2.0
Snowflake     1.2.0
Spark     1.2.0
Starburst & Trino     1.2.0 🚧
三、开源社区支持的数据源
Athena     Greenplum     Oracle
Clickhouse     Hive     Rockset
IBM DB2     Impala     SingleStore
Doris & SelectDB     Infer     SQLite
DuckDB     iomete     SQL Server & Azure SQL
Dremio     Layer     Teradata
Exasol Analytics     Materialize     TiDB
Firebolt     MindsDB     Vertica
AWS Glue     MySQL     
Databend Cloud     fal - Python models     
四、DBT关于建模的两个特点
1、DBT 能避免编写DDL语句

仅使用 查询SQL 语句或 Python dataframe编写业务逻辑,并返回所需的数据集,dbt 负责这些数据集的物化,从而构建可重用或模块化的数据模型,这些数据模型可以在后续工作中引用,而不是从每次分析的原始数据开始。这显著减少了数据查询的运行时间,dbt还能通过函数、工具包等构建和管理模型的ER图。
2、DBT 提供更可靠的分析不再复制和粘贴 SQL,因为这可能会导致逻辑更改时出错。dbt可以构建可重用的数据模型,并将其提取到后续模型和分析中。更改一次模型,该更改将传播到其所有依赖项。发布特定数据模型的规范版本,封装所有复杂的业务逻辑。此模型之上的所有分析都将包含相同的业务逻辑,而无需重新实现它。使用类似git一样成熟的源代码管理流程,如分支、拉取请求和代码评审。在基础数据上快速轻松地编写数据质量测试。
五、DBT建模功能总结
特征     描述
将SQL查询语句转化为关系     数据模型通过编写固定格式的标准select语句来实现,DBT能够识别一个模型配置文件内SQL语句之间的血缘关系,在将SQL语句执行为表或视图的同时,提取表或视图之间的关系进行展示。
固化模型的执行顺序     通过DBT做复杂的数据转换,将分多个步骤,关于每个步骤的执行顺序,DBT 通过REF函数分阶段实现转换。
类似git的版本控制     DBT将模型编写、版本控制和每个模型和字段编写描述等,通过类似git的模式进行管控。
数据模型管理功能     DBT 附带了一个包管理器,使得模型代码的公共和私有存储库能够被有权限的其他人直接调用。
本地文件导入     如一些码表信息、CSV文件等,能够直接加载为数据库中的表。
数据快照     DBT 提供了为某个时间点的原始数据创建快照的机制。
 文章来源地址https://www.toymoban.com/news/detail-661216.html

到了这里,关于数据转换工具DBT介绍及实操(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 文件:IO接口详解及实操

    在c语言文件中,创建、打开、读、写操作可以通过如下的代码进行: 通过\\\'w\\\'指令对文件进行写入操作时,编译器会先将文件内容清空然后重新写入。 C默认会打开三个输入输出流,分别是stdin, stdout, stderr。 仔细观察发现,这三个流的类型都是FILE*, fopen返回值类型,文件指针

    2024年01月24日
    浏览(36)
  • Android+Appium自动化测试环境搭建及实操

     Appium是一个开源的移动端自动化测试工具,适用于 移动端原生APP、移动Web APP或混合APP 的自动化测试;  Appium继承了Selenium(Web端自动化测试工具),应用 WebDriver (JSON wire protocol)技术,借助操作系统自带的测试框架来驱动Android和IOS应用。 特点 :Appium是一个开源、跨平台、多

    2024年02月08日
    浏览(65)
  • Elasticsearch:跨集群复制应用场景及实操 - Cross Cluster Replication

    通过跨集群复制(Cross Cluster Replication - CCR),你可以跨集群将索引复制并实现: 在数据中心中断时继续处理搜索请求 防止搜索量影响索引吞吐量 通过在距用户较近的地理位置处理搜索请求来减少搜索延迟 跨集群复制采用主动 - 被动模型。 你索引到领导者(leader)索引,并

    2024年02月07日
    浏览(45)
  • Elasticsearch:跨集群复制应用场景及实操 - Cross Cluster Replication 为集群之间建立互信

    通过跨集群复制(Cross Cluster Replication - CCR),你可以跨集群将索引复制并实现: 在数据中心中断时继续处理搜索请求 防止搜索量影响索引吞吐量 通过在距用户较近的地理位置处理搜索请求来减少搜索延迟 跨集群复制采用主动 - 被动模型。 你索引到领导者(leader)索引,并

    2024年02月11日
    浏览(58)
  • if __name__ == ‘__main__‘详细解释及实操演示

    在Python中,每个模块都有一个内置的变量 name ,用于表示 当前模块的名称 。当一个Python文件被执行时,Python解释器会首先将该文件作为一个模块导入,并执行其中的代码。此时,__name__的值为模块的名称。 if name == ‘ main ’ 是一个常见的用法,它的意思是:当该模块被直接

    2024年02月16日
    浏览(36)
  • VOC/YOLO/COCO数据集格式转换及LabelImg/Labelme/精灵标注助手Colabeler标注工具介绍

    数据集格式:VOC(xml)、YOLO(txt)、COCO(json) 本文主要对 Label格式 ,以及 LabelImg、Labelme、精灵标注助手Colabeler 这常用的三种数据标注软件进行介绍。 LabelImg是目标检测数据标注工具,可以标注标注两种格式: VOC标签格式,标注的标签存储在xml文件 YOLO标签格式,标注的标签存储在

    2023年04月22日
    浏览(89)
  • 实操:(附环摄数据及三维模型)如何利用Smart3D将二维照片转换成三维模型?

    目录 01 数据分享 1.1 Smart3D软件(附安装视频) 1.2 航拍数据(约4G,十分不建议,我花了一整天时间才制作成功) 1.3 小型img格式数据百度网址 1.4 航拍数据原下载地址 1.5 航拍数据处理得到的I3S格式的三维模型(需要ArcGIS Pro打开) 1.6 操作参考网址 02 如何打开Smart3D? 03 创建一个

    2023年04月09日
    浏览(53)
  • python工具模块介绍-time 时间访问和转换

    功能:时间访问和转换。 相关模块: datetime 标准模块。 calendar 标准模块。 下面介绍一些术语和约定: epoch 是时间开始点。对于Unix ,时代是1970年1月1日0点。通过time.gmtime(0)可以查看时间的起点: 对于32位的linux系统,时间只能处理到2038年。现在新发布的主流已经全部是64位

    2023年04月24日
    浏览(92)
  • 九、数据仓库详细介绍(元数据)

    元数据的文章,网上已经有很多了,元数据相关概念有限所以重复度很高。 我这里只是做个概念汇集,争取给大家介绍的全面一点。 元数据(Meta-data)是描述数据的数据(The data about data),更准确点应该叫 The information abut data。如何理解这句话?就是描述信息、实体、系统

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包