dbt 数据分析工程实战教程(汇总篇)

最近陆续写了数据分析工程相关的系列博客,主要包括dbt-core相关的实战教程。本文是阶段性整理回顾,希望为你学习数据工程领域知识提供帮助,后续会持续更新。

数据工程理论

介绍数据工程基础理论,包括数据仓库、数据建模等内容。结合典型面试问题阐述涉及的理论和工具。

标题简介
Dbt基本概念与快速入门本文将为入门级数据工程师介绍dbt的基础知识,包括数据仓库与dbt相关的概念,为未来进一步深入了解做基础准备。
分析工程涉及技术体系与工具本文简要介绍分析工程及对应岗位的需求和职责。另外概要介绍DBT——知名的开源的数据工程实践工具,未来我们逐步深入介绍DBT的应用与开发。
数据工程师岗位常见面试问题-1(附回答)提供全面的数据工程师面试指南,包括面试的不同阶段,从最初的人力资源筛选到深入的技术评价。技术方便包括Python、SQL、数据工程项目、数据工程管理,另外还有一些大厂面试问题。
数据工程师岗位常见面试问题-2(附回答)提供全面的数据工程师面试指南,包括面试的不同阶段,从最初的人力资源筛选到深入的技术评价。技术方便包括Python、SQL、数据工程项目、数据工程管理,另外还有一些大厂面试问题。
数据工程师岗位常见面试问题-3(附回答)提供全面的数据工程师面试指南,包括面试的不同阶段,从最初的人力资源筛选到深入的技术评价。技术方便包括Python、SQL、数据工程项目、数据工程管理,另外还有一些大厂面试问题。

dbt常用命令

详细介绍dbt常用命令,并结合示例进行说明。

标题简介
dbt 常用11个必知命令在本教程中,我们将引导你了解基本的dbt命令,为每个命令提供说明,并提供语法示例让理解它们的用法。让我们开始吧!
dbt Full Refresh特性及应用示例dbt run中关键特征是完全刷新功能。本教程将深入研究这个特性,帮助你有效地理解和使用该特征。
dbt compile 命令及应用本文介绍dbt compile命令可以在开发过程中随时查看编译后的SQL语句,帮助开发者及时发现模型问题。
dbt source & dbt source freshness命令详解dbt source 命令是dbt命令体系中重要的一个,它让用户无缝管理原始数据表引用。本文深入讲解该命令的详细用法,确保你能力利用其完整潜能。
dbt seed 命令及应用示例dbt的一个强大特性是seed命令,它可以将CSV文件(称为“seed”)加载到数据仓库中。本教程将带你完成使用dbt seed命令的过程。
dbt snapshot命令及应用示例dbt的一个关键特性是能够创建快照,这是跟踪数据随时间变化的一种方法。本文带你一起完成创建和使用dbt快照的过程。
dbt run-operation命令及应用示例在dbt的命令库中,run-operation非常突出。它不仅仅能够调用宏,而且也能够自动化重复任务;灵活利用该命令调用宏可以确保数据完整性,自动化授权、清理过时数据、更新业务指标、生成每月财务报告等。
dbt doc 生成文档命令示例应用dbt的一个关键特性是能够为数据模型生成文档,这就是dbt docs命令发挥作用的地方。本教程将指导您完成使用dbt生成和提供项目文档的过程。
理解dbt Exposures及应用示例dbt Exposures作为一个强大的功能脱颖而出,它弥补了原始数据模型与其下游应用程序之间的差距。本质上,公开允许您定义和描述dbt项目是如何在下游被利用的,无论是在仪表板、应用程序还是数据科学管道中。

dbt模型开发

了解dbt核心功能,数据模型开发,包括最佳实践、常用工具包、增量模型等。

标题简介
利用dbt_utils 工具包生成代理键DBT是转换数据仓库中的数据的强大工具,同时还包括丰富的生态工具包,其中一个常用的工具是生成代理键,这对于数据建模和分析至关重要。本文重点介绍generate_surrogate_key宏如何生成代理键,并基于示例展示最佳实践指南。
Dbt项目最佳实践指南-1本文介绍一些dbt项目最佳实践,包括如何结合数据仓库和软件工程理念对模型进行分层分类管理,让每层实现各自目标,提升项目的可维护性。另外还包括命名规范、文档描述以及分析目录的巧妙应用等。
从DDL, DML 和 存储过程迁移至DBTdbt新手常遇到的问题是,如何转换历史代码库中DDL、DML语句或存储过程等大杂烩。从DML语句到dbt模型的转换对新手来说确实有挑战,因为构建数据模型任务涉及到从过程流程到定义声明性方法之间的重大范式转换。前者采用一系列DDL和DML语句;而后者通过dbt描述数据模型,主要使用SELECT语句来表达。本指南旨在提供将DML语句转换为dbt模型的提示、技巧和常用模式。
如何使用Jinja定义dbt宏dbt宏在dbt框架内的工作方式与传统编程中的函数类似。它允许用户将特定的、通常是重复的SQL逻辑封装到可调用的命名单元中,就像在其他编程语言中用函数来避免重复代码一样;dbt宏定义特定业务的SQL逻辑,然后在dbt项目中需要的地方调用该宏函数实现代码重用。数据工程师利用宏在数据开发项目中维护更干净、更模块化的代码,因此,我们可以把dbt宏看作:为SQL提供强大的、类似函数的强大功能!
DBT Utils 实践应用指南-CSDN博客Dbt-utils是一个预先编写的宏集合,它可以帮助您进行旋转、编写通用测试、生成数据支柱等操作。这篇文章将介绍如何在你的项目中安装和使用一些流行的(和一些不为人知的)dbt实用程序。
DBT hook 实战教程本文将介绍dbt中在模型和seed级别使用post-hook的几个具体示例。dbt中的Post-hooks是一个强大而简单的特性,它在构建模型之后(如果是pre-hook,甚至在此之前)执行SQL语句。这些语句实际上(几乎)可以是任何东西,从将表复制到另一个数据库/模式,或限制记录的数量,或重新格式化seed。我们将讨论的示例是指DuckDB,但是也可以适用于其他数据库。
编写高质量dbt模型实践指南在本文结合简单示例提供综合实践,介绍利用dbt编写分层数据模型的最佳实践,以及如何使用编写模型测试保障数据质量。DBT支持编写模块化的数据模型,支持测试和重用,从而使分析工程师的工作变得更加轻松。
Dbt增量策略模型实践指南本文讨论dbt的增量策略,介绍工作原理、以及各自优缺点。下篇讲解如何在模型中实现增量策略。

使用增量模型可以仅仅处理最近的数据,减少数据处理成本和时间。当然首先要明确我们真的需要使用增量策略吗?增量物化选项是dbt中高级强大的特性,并不需要每个模型都需要使用。使用增量物化模型需要增加一些配置以及一堆jinja条件代码。
dbt 增量策略模型实战教程上文我们介绍了增量策略的理论知识,本文结合实际场景介绍如何合理利用增量策略,内容包括应用场景、常见问题及解决方案。

dbt测试开发

包括dbt模型测试相关功能。包括内置测试能力、第三方包提供的测试能力等。

标题简介
dbt测试易忽视的6个误区本文带你学习dbt单元测试中常见的六个错误,这样你就可以在自己的数据质量之旅中避开它们,同时了解更多测试库和工具,我们后续会详细分享,让我们一起行动吧。
Dbt自动化测试实战教程在这篇博文中,我们将介绍如何使用dbt通过不同类型的测试探测数仓中存储的数据。我们假设您对如何设置dbt有基本的了解,并且您有一个正在工作的项目。dbt提供了多种测试实现方式,可以使用" dbt test "命令执行测试用例。
编写自定义dbt通用数据测试dbt 默认提供了 Not Null, Unique, Relationships, 和Accepted Values 四个通用数据测试,这些测试被称为 ”schema 测试“ ,底层这些通用测试就是类似宏的测试块。本文首先介绍内置通用测试,然后介绍如何自定义通用测试,最后还实践如何覆盖内置通用测试的功能。
dbt expectations数据测试教程dbt-expectations包通过提供一组全面的数据质量测试功能,扩展了dbt-core内置测试能力。受Great Expectations框架的启发,这些测试可以执行数据完整性测试、并验证有关数据的假设。
DBT Utils 实践应用指南-CSDN博客Dbt-utils是一个预先编写的宏集合,它可以帮助您进行旋转、编写通用测试、生成数据支柱等操作。这篇文章将介绍如何在你的项目中安装和使用一些流行的(和一些不为人知的)dbt实用程序。

总结

这里关于数据工程方面博文的阶段性总结整理,后续会持续更新,期待您的真诚反馈,更多内容请阅读数据分析工程专栏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apt镜像源制作-ubuntu22.04

# 安装必要的软件 sudo apt-get install -y apt-mirror # 编辑/etc/apt/mirror.list,添加以下内容 set base_path /var/spool/apt-mirror # 指定要镜像的Ubuntu发布和组件-null dir jammy-updates main restricted universe multiverse # 镜像的Ubuntu发布和组件的URL-n…

springboot初体验

目录 环境 controller 修改端口号 更改banner图标 运行结果 最核心的:自动装配 环境 jdk17springboot3.3.5maven3.8.2 controller controller层和启动类同级 package com.example.demo.controller; ​ import org.springframework.web.bind.annotation.RequestMapping;…

HTML 基础架构:理解网页的骨架

HTML的文档结构主要由以下几个部分组成&#xff1a;<html>、<head>和<body>。 <html>标签是HTML文档的根元素&#xff0c;用来包裹整个HTML文档的内容。<head>标签用于定义文档的头部&#xff0c;包含了一些元数据和其他不直接显示在页面上的内…

Q:警告无法解释导入PIL Pylance(reportMisssingIMports)

问题显示&#xff1a; 解决方法&#xff1a; 1.确认安装 Pillow&#xff1a;在 VS Code 的终端中运行以下命令&#xff0c;以确保环境中安装了 Pillow pip install pillow2.选择正确的解释器&#xff1a;在 VS Code 中&#xff0c;按下 CtrlShiftP&#xff0c;输入并选择 “P…

python中常见的8种数据结构之一数组的应用

在Python中&#xff0c;数组是一种常见的数据结构&#xff0c;用于存储一系列相同类型的元素。在实际应用中&#xff0c;数组可以用于解决各种问题。 以下是数组在Python中的一些常见应用&#xff1a; 1. 存储和访问数据&#xff1a;数组可以用于存储和访问一组数据。可以通过…

网络安全——下载并在kali虚拟机上启动Cobalt Strike

目录 一、下载 二、上传文件到kali虚拟机 三、启动服务端 四、启动客户端 一、下载 CobaltStrike4.8汉化版带插件-CSDN博客 下载并解压后 二、上传文件到kali虚拟机 1、打开并运行kali虚拟机&#xff0c;查看kali的ip地址 2、打开xshell&#xff0c;新建连接&#xff0c;连…

PostgreSQL 开启密码验证插件

我们知道在数据安全和等保要求中&#xff0c;用户的密码复杂度需要满足一定的条件&#xff0c;那么在 PostgreSQL 数据库中如何保证创建的用户的密码满足这些要求呢。 [rootlocalhost ~]# su - postgres [postgreslocalhost ~]$ cd /usr/local/pgsql-12.8/data/ [postgresloca…

用 Python 从零开始创建神经网络(四):激活函数(Activation Functions)

激活函数&#xff08;Activation Functions&#xff09; 引言1. 激活函数的种类a. 阶跃激活功能b. 线性激活函数c. Sigmoid激活函数d. ReLU 激活函数e. more 2. 为什么使用激活函数3. 隐藏层的线性激活4. 一对神经元的 ReLU 激活5. 在隐蔽层中激活 ReLU6. ReLU 激活函数代码7. …

22.oop-strust与class

OOP是什么&#xff1a;oop 是面向对象编程,面向对象编程是一种计算机编程架构, OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或 对象组、合而成。 OOP有什么特性&#xff1a; 1、封装性&#xff1a;也称为信息隐藏&#xff0c;就是将一个类的使用和实现分开…

【Linux】ubuntu安装图形化界面步骤

一、ubuntu 安装桌面环境 1、更新软件包列表&#xff08;命令↓&#xff09; sudo apt update 2、安装桌面环境GNOME&#xff08;命令↓&#xff09; sudo apt install ubuntu-desktop 3、安装完成后需要重启服务器&#xff08;服务器重启命令↓&#xff09; sudo reboot 二、…

【Android】轮播图——Banner

引言 Banner轮播图是一种在网页和移动应用界面设计中常见的元素&#xff0c;主要用于在一个固定的区域内自动或手动切换一系列图片&#xff0c;以展示不同的内容或信息。这个控件在软件当中经常看到&#xff0c;商品促销、热门歌单、头像新闻等等。它不同于ViewPgaer在于无需手…

Vue2 doc、excel、pdf、ppt、txt、图片以及视频等在线预览

Vue2 doc、excel、pdf、ppt、txt、图片等在线预览 安装使用目录结构直接上代码src\components\FileView\doc\index.vuesrc\components\FileView\excel\index.vuesrc\components\FileView\img\index.vuesrc\components\FileView\pdf\index.vuesrc\components\FileView\ppt\index…

网站主机介绍

网站主机介绍 1. 网站主机的定义和作用 网站主机,也常被称为网络主机或虚拟主机,是指一种互联网服务,它允许个人或企业将他们的网站内容放置在互联网上,使其可以被全球范围内的用户访问。网站主机的作用类似于实体店铺的租赁空间,只不过它是虚拟的,提供的是服务器空间和…

python os模块学习

文件&#xff1a; 文件操作&#xff1a;open(path,filename)path:绝对路径和相对路径 mode:读&#xff1a;rb,r写&#xff1a;wb w具体搞法&#xff1a; stream.open(file,mode)stream.read()stread.write()stream.close()为了节省时间可以写做with open(file,mode)as stream具…

PostgreSQL 性能优化全方位指南:深度提升数据库效率

PostgreSQL 性能优化全方位指南&#xff1a;深度提升数据库效率 别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01; 在现代互联网应用中&#xff0c;数据库性能优化是系统优化中至关重要的一环&#xff0c;尤其对于数据密集型和高并发的应用而言&am…

Vue 3 中Pinia状态管理库的使用方法总结

Pinia 是 Vue 3 的状态管理库&#xff0c;旨在替代 Vuex&#xff0c;提供更简洁和更灵活的 API。以下是如何在 Vue 3 项目中使用 Pinia 的详细步骤。 1. 安装 Pinia 首先&#xff0c;你需要在你的 Vue 3 项目中安装 Pinia。你可以使用 npm 或 yarn 进行安装&#xff1a; npm…

JVM 中的完整 GC 流程

一、引言 在 Java 应用程序的运行过程中&#xff0c;垃圾回收是一个至关重要的环节。它负责自动管理内存&#xff0c;回收不再被使用的对象&#xff0c;以确保应用程序的稳定运行。了解 JVM 中一次完整的 GC 流程对于优化 Java 应用的性能、减少内存占用以及避免内存泄漏至关重…

密码学的基本原理

密码学是研究编制密码和破译密码的技术科学&#xff0c;以实现信息的保密性、完整性、可用性及抗抵赖性。以下是基本的密码学原理的详细解释&#xff1a; 一、密码学的基本概念明文&#xff1a;原始的、未加密的信息。密文&#xff1a;经过加密处理后的信息&#xff0c;只有持有…

illustrator(AI)-去掉文字有底色

AI去除文字底色教程&#xff1a; 1、打开AI软件&#xff0c;点击“文件”>“新建”&#xff0c;新建一个空白文档&#xff1b; 2、接着将其它版本的AI文件导入当前软件中&#xff0c;此时可以发现文字是有底色的&#xff0c;接下来小编教大家去除文字底色的方法&#xff1…

[OpenGL]使用OpenGL实现硬阴影效果

一、简介 本文介绍了如何使用OpenGL实现硬阴影效果&#xff0c;并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map&#xff0c;实现硬阴影的流程如下&#xff1a; 首先&#xff0c;以光源为视角&#xff0c;渲染场景的深度图&#xff0c;将light space中的深度图存储…