从零开始的 dbt 入门教程 (dbt-core 基础篇)
发布网友
发布时间:2024-10-21 08:09
我来回答
共1个回答
热心网友
时间:2024-11-16 19:44
最近一直在处理数据分析和数据建模的任务,接触到了dbt等数据分析工具。由于国内关于dbt的详细资料不多,我计划写一系列关于dbt的文章,本文是系列的第一篇,主要介绍dbt的基本概念,并指导你如何配置dbt连接远端数据库,运行第一个数据模型。
一、数据分析前置概念
1.1 什么是dbt?
DBT(Data Build Tools)是一种数据转换工作流工具,帮助数据分析师将原始数据加工组合,满足复杂的数据分析需求。dbt的作用类似于厨师,将原始数据(食材)加工成有用的数据模型(菜肴)。
1.2 dbt core与dbt cloud的区别
dbt core和dbt cloud是两种不同的服务模式,前者是开源本地化搭建,后者是SaaS付费服务。本文将从dbt core的视角出发。
1.3 什么是dbt adapters?
dbt adapters是dbt的适配器,用于连接不同的数据库。适配器提供标准化的接口,让你可以使用相同的SQL语法与不同的底层数据平台交互。
1.4 什么是ELT和ETL,它们区别在哪?
ELT和ETL是两种常见的数据分析模式,它们的区别在于数据处理流程中的步骤顺序。
1.5 Dbt,bigQuery与Fivetran的作用
理解ELT(Extract, Load, Transform)和ETL(Extract, Transform, Load)的概念有助于更好地理解这三个工具在数据处理和分析中的角色。
1.6 dbt负责的数据转换,而Fivetran也能做数据转换,那为什么还需要dbt?
Fivetran负责将数据从源头搬移到数据仓库,而dbt则负责在数据仓库中进行进一步的处理和建模,以便更轻松地进行复杂的查询和分析。
二、dbt环境准备(以Python为例)
2.1 Python版本注意
推荐安装Python 3.8或3.9版本,避免安装3.10版本,因为可能会出现版本冲突问题。
2.2 安装dbt core
安装dbt core可以使用pip、docker、homebrew等方式。
2.3 安装dbt adapters
安装dbt adapters时,会默认安装与之关联的core包。以bigQuery为例,执行命令安装适配器,然后检查安装包的版本信息。
三、初始化dbt
4.1 通过命令
初始化dbt项目有两种方式,一种是直接通过命令,另一种是使用官网模版项目。
4.2 使用官网模版项目
推荐使用官网的模版项目,因为模版项目包含了模拟数据和模拟的数据模型,可以让你从零开始。
四、链接数据库
5.1 创建profiles.yml文件
在jaffle_shop项目下创建profiles.yml文件,并粘贴相关配置代码。
5.2 解释下配置
解释了配置文件中的各个字段含义。
5.3 检查链接是否成功
执行dbt debug命令检查项目与数据库的链接情况。
五、dbt命令注解
介绍了部分dbt命令的注解,例如test命令。
六、dbt视图(view)和表(table)的区别
介绍了dbt视图和表的区别,以及如何在模型文件中设置生成表而不是视图。
文章转载自:听风是风
原文链接:cnblogs.com/echolun/p/1...