数据分析工程
文章平均质量分 91
梦想画家
开源软件爱好者,乐于博客分享,业余时间喜欢跑步和科幻,希望与意趣相投朋友一起学习交流。
展开
-
dbt测试易忽视的6个误区
本文介绍了DBT测试容易忽略的一些误区,业务你暂时还未经历或没有太多共鸣。但这些误区可作为最佳实践,让你在实际项目少走弯路。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-10-16 15:26:31 · 521 阅读 · 0 评论 -
使用dbt tags 分类管理资源
本文介绍了如何在dbt项目对不同资源定义标签,基于标签可以细粒度控制管理模型运行、测试等。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-10-16 07:07:56 · 211 阅读 · 0 评论 -
dbt expectations数据测试教程
dbt-expectations是dbt测试工具包,旨在为dbt模型提供类似于Great expectations的数据质量测试功能。它包括各种测试,支持验证数据的一致性、准确性和有效性。安装dbt Expectations要在dbt项目中使用dbt-expectations,需要将其作为依赖项添加到包中。Yml文件,然后使用DBT deps命令安装它。packages.yml中增加依赖dbt Expectationspackages:安装包dbt deps。原创 2024-10-16 06:58:53 · 715 阅读 · 0 评论 -
dbt doc 生成文档命令示例应用
DBT提供了强大的命令行工具,它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个关键特性是能够为数据模型生成文档,这就是dbt docs命令发挥作用的地方。本教程将指导您完成使用dbt生成和提供项目文档的过程。原创 2024-10-12 08:22:34 · 604 阅读 · 0 评论 -
dbt 增量策略模型实战教程
本文介绍了增量策略实际应用中的问题:如何让增量模型能够高效幂等运行。我们提供良好的解决方案同时满足三种场景应用,让数据转换流程更健壮、更高效。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-10-10 20:11:49 · 1004 阅读 · 0 评论 -
Dbt增量策略模型实践指南
现在你应该对何时使用增量和何时不使用增量有了更清晰的概念。此外,你知道每种策略是如何工作的,并且知道何时使用何种策略。在下一篇文章中,我将展示如何在实践中实现增量策略。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-10-10 15:48:09 · 1290 阅读 · 0 评论 -
dbt Full Refresh特性及应用示例
full_refresh能力是dbt中强大特性之一,利用它可确保数据的准确性和一致性。本文介绍何时使用场景、以及如何使用它,帮助你优化数据转换过程并维护高质量的数据集。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-10-09 12:04:09 · 1212 阅读 · 0 评论 -
利用`dbt_utils` 工具包生成代理键
代理键在数据建模中是非常有价值的,特别是在处理来自不同来源的数据时。使用dbt_utils包的generate_surrogate_key宏,让生成代理键变得简单、流程,让你能专注于分析,而不是准备数据。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-10-09 08:56:24 · 357 阅读 · 0 评论 -
编写高质量dbt模型实践指南
dbt数据建模是基于SQL工具库将原始数据转换为可用数据的过程。目标就是把原始数据转换为开发易于理解、清晰的、结构化和文档完备的数据集。DBT简化了转换步骤,从而允许创建准确、可靠的数据模型,这些模型可以很容易地进行测试和版本控制。通过这种方式,数据团队可以使用dbt创建高效且可扩展的数据模型,从而能够及时交付高质量数据,提升数据价值、支持业务决策。通常在项目根目录下的sources.yaml文件中定义。原创 2024-10-07 19:34:02 · 1070 阅读 · 0 评论 -
DBT hook 实战教程
本文通过提供在模型和种子级别上使用post-hook的具体示例,展示了dbt中post-hook的多种应用场景。这些示例演示了post-hook如何用于复制表、限制返回记录和重新格式化数据。总之,通过使用post-hooks,用户可以更好地控制数据质量并提升模型文档。原创 2024-10-03 10:49:54 · 1405 阅读 · 0 评论 -
数据工程师岗位常见面试问题-3(附回答)
如果以前参与过数据工程项目,那么这个答案应该是很自然的。话虽如此,提前准备总是有必要的。项目简介:首先解释项目的背景,描述你需要解决的业务问题和项目的目标。举例: “在这个项目中,我们的目标是优化处理生产设备采集数据的数据管道,以提高分析团队的查询性能和数据准确性。数据抽取:描述你是如何访问和抽取原始数据的。示例:“我们使用DBT, Airflow和PostgreSQL来摄取原始的数据,以确保从多个来源摄取可靠的数据。数据转换:解释清理、转换和数据结构化所采取的步骤。原创 2024-10-01 17:27:19 · 1014 阅读 · 0 评论 -
数据工程师岗位常见面试问题-2(附回答)
前文涉及了HR面试、初级数据工程师的技术面试,文本收集了部分python和sql方面内容。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-09-29 11:59:41 · 1186 阅读 · 0 评论 -
Dbt项目最佳实践指南-1
在处理数据过程中,模型文档化绝对不是最吸引人的任务。然而,由于缺乏文档或记录,分析人员将难以理解如何使用表或表中的某些字段意义。即使有文档,对于不同模型的同一列也可能有不同的解释,或者对于相同数据点的描述也可能略有不同。dbt中有一个非常好的特性,通过使用doc函数,它可以帮助在模型之间对齐列描述并避免重复。在确定模型中经常重复出现的字段之后,你可以在dbt项目的docs文件夹中创建一个或多个yaml文件(也许每个主题/域一个文件)。原创 2024-09-27 20:19:14 · 947 阅读 · 0 评论 -
数据工程师岗位常见面试问题-1(附回答)
答案将取决于你的经历,这个问题没有标准答案。面试官是在评估你的技能和经验,熟悉流行的工具和中间件将有助于自信地回答问题。数据库管理(如MySQL, PostgreSQL, MongoDB, ClickHouse, ElasticSearch, Redis)数据仓库(例如,Amazon Redshift, Snowflake, PostgreSQL, ClickHouse, DuckDB )数据编排(如Apache airflow、Prefect)原创 2024-09-27 18:40:03 · 1531 阅读 · 0 评论 -
Dbt自动化测试实战教程
第三种选择是使用宏自定义宏测试。例如,我们可以将计算结果与来自不同分析的已知值进行比较。在下面的示例代码中,我们计算去年的总营业额,并将其与年度报告中公布的值进行比较。这是典型的数据库回归测试,确保即使在进行了一些修改之后,数据库的完整性仍然保持不变。确保数据符合质量标准可能非常耗时,因为需要运行很多且计算成本高的测试。为了避免延迟向最终用户交付数据的工期,最好定义所谓的“冒烟测试”。原创 2024-09-26 10:50:33 · 786 阅读 · 0 评论 -
DBT 变量及环境变量应用教程
变量可以用两种方式定义: 在dbt_project.yml文件, 第二是在命令行中直接定义。dbt_project.yml文件在dbt_project.yml文件中,通过var()函数的第二个可选参数可以设置默认值。如果有这个参数,那么如果没有显式定义,则变量取默认值。在命令行上定义dbt_project.Yml文件是定义很少更改的变量的好地方。其他类型的变量,比如日期范围,会经常变化。要为dbt的运行定义(或覆盖)变量,请使用——vars命令行选项。vars参数在命令行上接受YAML字典作为字符串。原创 2024-09-26 10:36:22 · 461 阅读 · 0 评论 -
DBT Utils 实践应用指南
SQL generators (生成SQL)Generic tests (通用测试)Jinja helpers (jinja助手)Web macros (web宏)Introspective macros (自省宏)上面分类不一定全面,但上述功能通常是数据团队使用最多的功能。原创 2024-09-25 11:43:35 · 830 阅读 · 0 评论 -
从DDL, DML 和 存储过程迁移至DBT
dbt新手常遇到的问题是,如何转换历史代码库中DDL、DML语句或存储过程等大杂烩。从DML语句到dbt模型的转换对新手来说确实有挑战,因为构建数据模型任务涉及到从过程流程到定义声明性方法之间的重大范式转换。前者采用一系列DDL和DML语句;而后者通过dbt描述数据模型,主要使用SELECT语句来表达。本指南旨在提供将DML语句转换为dbt模型的提示、技巧和常用模式。原创 2024-09-25 10:13:25 · 929 阅读 · 0 评论 -
如何使用Jinja定义dbt宏
dbt宏使用Jinja引擎,这是Python web框架中广泛采用的模板引擎。使用Jinja可以将占位符和逻辑直接嵌入到SQL代码中,使其具有动态性和模块化。在dbt宏中可以定义带有参数的SQL块,然后可以在整个dbt项目中使用不同的参数重用该SQL块。为什么要使用Jinja宏?可重用性: 一次定义复杂逻辑,然后跨多个模型使用它。可维护性: 集中逻辑以简化更新并减少错误。灵活性: 在宏中组合SQL和Python代码来处理复杂的数据转换。原创 2024-09-23 20:42:11 · 1168 阅读 · 0 评论 -
dbt run-operation命令及应用示例
dbt run-operation命令是一个强大的工具,可以为dbt工作流增加灵活性和效率。使用宏可以自动执行复杂的任务、生成动态SQL查询,所有这些都可以从命令行完成。无论你是优化数据转换过程还是确保数据质量,掌握dbt run-operation都将让你在数据工程领域脱颖而出。原创 2024-09-23 15:38:48 · 607 阅读 · 0 评论 -
dbt snapshot命令及应用示例
DBT快照是跟踪数据随时间变化的强大工具。通过学习本教程,现在应该对如何创建和使用dbt快照有了较好的理解。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-09-21 08:10:40 · 1219 阅读 · 0 评论 -
dbt seed 命令及应用示例
dbt seed命令是将静态数据加载到数据仓库中的强大工具。通过使用seed可以在dbt中保持转换逻辑,确保数据转换是一致的、版本控制的和代码可审查的。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。原创 2024-09-19 19:09:38 · 878 阅读 · 0 评论 -
dbt source & dbt source freshness命令详解
DBT source 表示数据仓库中的原始数据表,是DBT转换的基础数据源。dbt source不是直接引用这些表,而是提供了一种抽象,增强了可维护性和清晰度。通过将表声明为源,可以将其标记为转换的可信基础,从而启用数据新鲜度检查等功能。在业务上下文中,源可以表示原始销售数据、客户交易数据或库存数据。dbt source 命令设计用于管理基础数据源,它的主要子命令,可以检查原始数据表的新鲜度,确保数据是最新的、可靠的。原创 2024-09-19 19:07:28 · 1071 阅读 · 0 评论 -
dbt compile 命令及应用
本文介绍了命令,包括应用场景、详细说明及注意事项。了解这些信息,有助于在项目中高效使用该命令。原创 2024-09-18 18:19:45 · 607 阅读 · 0 评论 -
dbt 常用11个必知命令
到目前为止,您应该已经很好地理解了基本的dbt命令,以及如何在数据转换项目中使用它们。这里没有涉及一些更复杂的参数选项,未来结合实际场景详细描述。实践出真知,行动起来吧。原创 2024-09-18 18:14:58 · 424 阅读 · 0 评论 -
Dbt基本概念与快速入门
dbt项目是包括在操作系统中特定目录里,其中包含对数据执行转换所需的所有内容。它包含许多.sql文件(称为模型)和YAML文件(用于配置)。创建dbt工程,可以在命令行中使用dbt init 命令。终端要求您输入与可用数据平台适配器对应的代码。因为只有DuckDB,所以可以按1。├── logs├── macros├── models├── seeds├── target├── tests模块化: 保持数据转换有组织,并将其划分为可管理的单元,使代码更容易理解和维护。原创 2024-09-16 10:24:11 · 1253 阅读 · 0 评论 -
分析工程涉及技术体系与工具
DBT是一个开源工具,它通过提供一种创建、测试和转换数据模型的方法,帮助数据工程师、分析工程师和数据分析师构建数据网格。数据团队利用dbt定义、测试和构建数据模型,以工程化理念落地数据仓库分层转换数据方法论,以便其他团队和应用程序可以轻松地使用数据仓库或数据中转换好的数据模型。数据建模能力数据建模功能允许团队通过使用简单且熟悉的、基于sql的语法来定义数据模型,使得数据工程师和数据分析师可以轻松地一起定义和测试数据模型。数据测试能力。原创 2024-09-15 11:12:02 · 596 阅读 · 0 评论