Getting started with dbt
🇬🇧 English
As a contract data engineer, I sometimes experience periods of inactivity. When browsing the online market for suitable roles, one of the most in-demand skills I keep seeing is experience with dbt. To give myself the best possible chance of obtaining work, I decided to learn as much as I needed to be confident in discussing it. This article distills that process and what I’ve learnt, with plenty of practical code and real-world examples. I have no affiliation with dbt or Duck DB; dbt Core is free open-source under Apache 2.0, and Duck DB is MIT licensed.
dbt provides a broad range of capabilities, but as an introduction, I focus on basics like models, sources, testing data, and documentation. If you’ve worked on analytics projects, you’ve probably ended up with a folder full of SQL scripts. Initially, everything feels manageable, but as the project grows, a column rename can break downstream reports or jobs. Traditional SQL is often treated as isolated scripts rather than a software project, and dbt offers a solution.
dbt (data build tool) was created in the mid 2010s by dbt Labs. It grew into an open-source CLI tool called dbt Core and a paid version called dbt Platform. dbt transforms data in databases or warehouses, and also handles testing data quality, documenting datasets, reusing SQL through macros, managing environments, and running transformations via jobs or CI/CD. It’s widely used with Snowflake, Big Query, Redshift, and Databricks, but my examples use local Duck DB.
🇪🇸 Español
Cómo empezar con dbt: una guía práctica
Como ingeniero de datos independiente, a veces experimento periodos de inactividad. Al buscar en el mercado en línea posibles puestos de trabajo, una de las habilidades más demandadas que veo constantemente es la experiencia con dbt. Para darme la mayor posibilidad posible de encontrar trabajo, decidí aprender todo lo necesario para hablar de dbt con seguridad. Este artículo destila ese proceso y lo talentoso, con una práctica abundante y ejemplos del mundo real. No tengo afiliación con dbt ni Duck DB; dbt Core es herramienta código abierto gratuito bajo Apache 2.0, y Duck DB tiene licencia MIT.
Los dbt proporcionan una amplia gama de capacidades, pero como introducción, me centréo en lo básico como modelos, fuentes, pruebas de datos y documentación. Si ha trabajado en proyectos de análisis, probablemente se ha encontrado con una carpeta llena de scripts SQL. Cuando comenzó todo, todo parece manejable, pero a medida que el proyecto crece, el cambio de un nombre de columna puede romper informes o trabajos posteriores. El SQL tradicional a menudo se trata como scripts independientes en lugar de un proyecto de software, y dbt ofrece una solución.
dbt (herramienta de construcción de datos) fue creada a mediados de 2010 pordbt Labs. Se convirtió en unCLI de código abierto llamado dbt Core y una versión de pago llamada dbt Platform. dbt transforma datos en bases de datos o almacenes, está muy unido aSnowflake, Big Query, Redshift y Databricks, y también que maneja la testing de calidad de datos, documentación de datasets, reutilización de SQL mediante macros, gestión de entornos y ejecución de transformaciones por trabajos o CI/CD. Mis ejemplos usan Duck DB local.
Entidades clave: Empresas: dbt Labs, Snowflake, Big Query, Redshift, Databricks
¿Qué es dbt y por qué usan dbt los equipos de datos?
dbt (herramienta de construcción de datos) es una herramienta de línea de comandos de código abierto que transforma datos en bases de datos o almacenes. También maneja pruebas de calidad de datos, documentación de conjuntos de datos, reutilización de SQL a través de macros, gestión de entornos y ejecución de transformaciones mediante trabajos programados o CI/CD. Losequipos de datos lo usan para tratar SQL como un proyecto de software, así no más reduciendo los problemas de cambios.
🇮🇳 हिन्दी
dbt के साथ शुरुआत: एक व्यावहारिक मार्गदर्शिका
एक अनुबंधित डेटा इंजीनियर के रूप में, कभी-कभी मैं निष्क्रियता का अनुभव करता हूँ। नौकरी के बाजार में उपयुक्त को देखते समय, मैं बार-बार जो उच्च मांग वाला कौशल देखता हूँ वह dbt का अनुभव है। अपने आपको काम पाने का सर्वोत्तम संभव अवसर देने के लिए, मैंने उतना सीखने का निर्णय लिया जितना मुझे इसे परीक्षात्मक रूप से बात करने के लिए चाहिए। यह लेख उस प्रक्रिया और जो कुछ मैंने सीखा है, उसे निकटत करता है, जिसमें बहुत मात्रवात्मक कोड और वास्तविक दुनिया के उदाहरण हैं। मेरा डीबीटूटी या डक डीबी से संबंध नहीं है; dbt Core अपाच 2.0 के अंतर्गत मुक्त और ओपन-सोर्स है, और DuckD B कीद्विस्व MIT लाइसेंस प्राप्त है।
dbt क्याहै और डेटा टीमें क्यों उपयोग करती हैं?
dbt (डेटा बिल्ड टूल) एक ओपन-सोर्स क्ली टूल है जो डेटा को डेटाबेस या वेयरहाउस में रुपांतरित करता है। साथ ही यह डेटा गुणवत्ता परीक्षण, डेटेसेट दस्तावेज़ीकरण, मैक्रोज़ के माध्यम से एसक्यूएल का पुन: उपयंजन, वातानी का प्रबंधन, तथा शेब्यू कार्य या CI/CD द्वारा परिवर्तनों का संचालन करता है। डेटा टीमें इसे एसक्वेल को एक सॉफ्टवेयर प्रोजेक्ट के रूप में इलाज करने के लिए उपयोगी बनाती है,जिससे परिवर्तन समस्याओं में कमी आती है।
🇨🇳 简体中文
dbt入门:实用指南
作为一名合同数据工程师,我有时会经历无活可做的时期。在浏览在线市场寻找合适职位时,我持续看到的最受需求的技能之一是dbt经验。为了给自己最大的可能性获得工作,我决定学习尽可能多的知识,以便自信地进行讨论。这篇文章提炼了这个过程和我所学到的东西,包含大量实用代码和真实世界示例。我与dbt或Duck DB没有关联;dbt Core是Apache 2.0下的免费开源软件,Duck DB是MIT许可的。
dbt提供了广泛的功能,但作为介绍,我专注于基础知识,如模型、来源、数据测试和文档。如果您曾在分析项目中工作过,您可能最终会得到一个包含SQL脚本的文件夹。一开始,一切都会感到可管理,但项目增长后,列重命名可能会破坏下游报告或作业。传统SQL通常被视为孤立的脚本,而不是一个软件项目,而dbt提供了一种解决方案。
dbt(数据构建工具)由dbt Labs在2010年代中期创建。它发展成为一个名为dbt Core的开源CLI工具,以及一个付费版本dbt Platform。dbt在数据库或数据仓库中转化数据,并处理测试数据质量、记录数据集、通过宏重用SQL、管理环境,以及通过作业或CI/CD运行转换。它广泛用于Snowflake、Big Query、Redshift和Databricks,但我的示例使用本地Duck DB。
什么是dbt,为什么数据团队使用它?
dbt(数据构建工具)是一个开源的CLI工具,它转换数据库或数据仓库中的数据。它还处理测试数据质量、文档数据集、通过宏重用SQL、管理环境以及通过计划作业或CI/CD运行转换。数据团队将其视作将SQL作为软件项目来对待,或减少变化的改变。