awesome-dbt
A curated list of awesome dbt resources
https://github.com/Hiflylabs/awesome-dbt
Last synced: 16 days ago
JSON representation
CI/CD
- Slim CI/CD with Bitbucket Pipelines - How to setup slim CI on Bitbucket.
- dbt-docs-to-notion - A GitHub action for exporting dbt model docs to a Notion database.
- Performing a blue/green deploy of your dbt project on Snowflake - A very tidy and fail-safe way to run dbt in production by using two parallel production enviromnents.
- How we speed up our CI runs by 10x using Slim CI - Limit data in long-running CI checks to improve developing experience.
- How to review an analytics pull request - Checkpoints to consider when reviewing an analytics engineer PR.
- dbt-ci-cd - This setup is designed to demonstrate and implement best practices for testing and deploying dbt models.
- dbt-beyond-the-basics - Showcase of advanced options when running CI for dbt.
- DBT CI/CD Demo with BigQuery and GitHub Actions - A demo CI/CD implementation using GitHub Actions, including slim CI and unit tests.
- Guide to Running DBT in Production - A guide to implementing a complete CI/CD process for a dbt project. The defer feature (for slim CI) and unit tests are used for continous integration (CI). For continuous delivery (CD), automatic deployment is advised in lower environments, and the Write-Audit-Publish pattern using the dbt clone feature is introduced for higher environments.
- dbt-cloud-download-artifacts-action - A GitHub action for downloading dbt artifacts from dbt Cloud CI jobs.
- How to Create CI/CD Pipelines for dbt Core - This post dives into the use of CI/CD for dbt Core, providing insights on dbt Cloud's Slim CI CICD job pattern and how to implement this using dbt Core.
- Continuous Integration and Automated Build Testing with dbtCloud - Great and detailed blogpost on setting up Slim CI in dbt Cloud.
-
dbt-plan
-
terraform planfor dbt: diffs compiled SQL between two revisions to predict the DDLdbt runwould emit. Names the columns anon_schema_change: sync_all_columnsmodel will drop, the downstream models and data tests that drop breaks, and enforced-contract violations. Reads files only -- no warehouse connection -- so it runs locally beforedbt runand on fork pull requests, where warehouse-connected checks cannot.
Community
- dbt Labs Tiktok - Official TikTok channel of dbt Labs.
- Locally Optimistic - A Slack community of aspiring analytics leaders discussing and sharing lessons learned and challenges from their experiences in using data.
- DataTalks.Club - Global online community of data enthusiasts. Podcasts and blogs, etc. are distributed with high frequency.
- Data & Analytics Events in 2022 - Great curated list of upcoming data analytics conferences.
- Discourse v2 - Revamped and ported hub of main discussions for the community.
- Analytics Engineer Roundup - Official dbt Labs newsletter on topics of the MDS.
- Benn Stacil's Newsletter - Tought-provoking reads from founder of Mode.
- Data Engineering Weekly - Weekly newsletter of recent trends in Data Engineering.
- Data Engineering Podcast - One of the most popular data engineering podcasts covering great concepts and new products.
- Analyitics Engineer Podcast - Official podcast of dbt Labs.
- dbt Slack - Energy-filled hub of analytics engineers (Highly recommended).
- r/dataengineering - Subreddit of data engineering topics.
- Drill to Detail Podcast - Special guests discussing big data, business intelligence, modern data stack.
- Coalesce conference recordings - Recordings of Coalesce conferenfes from 2022 and after.
- dbt meetups - List of community led dbt meetups.
- #dbtips - Newsletter about dbt, with tips and tutorials on various topics.
- Data Council Austin 2023 - A conference for data teams.
- State of Analytics Engineering 2023 - A survey of pains, gains, and areas of investment for global data teams.
- Metadata Weekly - Weekly substack about metadata, the metrics layer and MDS.
- Data Council Austin 2022 - Worldwide community driven analytics conference with a handful of talks fitting to the dbt stack.
- Coalesce 2021 - Second iteration of the analytics engineer conference.
- Coalesce 2020 - Annual dbt conference full of fascinating use-cases.
Data Quality
- BigQuery Stale data detection - Stale data detection with dbt and BigQuery dataset metadata.
- Environment-dependent Unit Testing in dbt - Guide on how to run unit tests in dbt dynamically.
- How do you test your data - Suggestions on testing your data powered by the community.
- How to unit test sql transforms in dbt - Unit test using source defer and generic custom tests.
- dq-tools - Make simple storing test results and visualisation of these in a BI dashboard leveraging 6 Data Quality KPIs.
- Elementary - A dbt package that provides data anomaly detection as dbt tests.
- dbt-expectations - Port between dbt and great_expectations to extend out-of-the-box tests.
- DataKitchen Open Source Data Observability - Data breaks. Servers break. dbt and other tools break. Observability and alerting across and down your data estate. Save time with simple, fast data quality test generation and execution.
- re_data - A dbt package for montioring metrics and detect anomalies.
-
Scherlok
- Zero-config data quality CLI that complements
dbt testwith auto-detected anomalies (volume, schema drift, freshness, distribution, cardinality) on every materialized model afterdbt run. - Misata - Generate known-answer seed and test data for dbt models: declare the expected aggregates (revenue curves, rates, rollups) and assert your models return them exactly.
-
data-contract-validator
- Fails the pull request when a model stops producing what a downstream consumer expects. Reads columns from
catalog.json/manifest.json(falling back to a sqlglot parse of the SQL) and compares them against reverse-ETL destinations such as HubSpot CRM and against FastAPI/Pydantic services, in CI or pre-commit. -
Aegis DQ
- Agentic data quality framework that runs YAML rules against your warehouse (DuckDB, BigQuery, Snowflake, Databricks, Athena, Postgres), then uses LLMs to diagnose failures, trace root causes, and propose SQL fixes. Pairs naturally with dbt models as the validation layer after
dbt run.
Get Started
- The Ultimate Guide to dbt - A comprehensive canvas guide to dbt, from the basics to advanced topics.
- dbt in a real world scenario, A Beginner dbt tutorial - A beginner tutorial to understand dbt with a real world example.
- Mastering dbt: Beginner to Pro - Paid Udemy course that covers theory, building a dbt project from scratch, and deploying to dbt Cloud.
- Zero to Hero dbt - Complete course covering both theory & practice through real-world Airbnb use-case.
- dbt Fundamentals - Official free course offered by dbt. Excellent for learning the basics of dbt Cloud.
- Refactoring SQL for Modularity - Another dbt labs offered free course on dbt refactoring and CTE supercharging.
- Learn DBT from Scratch - Guides you through a setup paired with Snowflake (decorated with extras).
- Accelerating and Scaling dbt for the Enterprise - Guide for large scale dbt projects. .
- Analytics Engineering with dbt - Paid course offered by Uplimit covering the basics of dbt.
- Advanced dbt - Another paid course by Uplimit covering the advanced dbt topics.
- Data Engineering Zoomcamp - Data engineering course on cutting edge tools including dbt.
How To
- dbt Jinja Functions Cheat Sheet - Datacoves - Jinja Functions Cheat Sheet that covers the Jinja additions in dbt Core.
- Discovery API use-cases - Use-cases and examples for the dbt Cloud Discovery API.
- dbt Docs as a Static Website - How to deploy dbt docs as a static website with App Engine and GitHub Actions.
- dbt Monorepo Workflow - How to get started with the team dbt workflow.
- BigQuery Ingestion-Time Partitioning and Partition Copy With dbt - Combining ingestion-time partitioning and partition copy is a great way to achieve better performance for your models.
- Power up your data quality with grouped checks - How to use grouped checkes in dbt-utils to keep our data "on track".
- Dry running our data warehouse using BigQuery and dbt - Use dbt & BigQuery dry run jobs to validate our 1000+ models in under 30 seconds.
- Automatically generate ERD - Automatically generate ERDs and display in your docs site.
- Test SQL Pipelines against Production Clones using DBT and Snowflake - Leverage Snowflake Zero-copy-clones to run slim ci checks.
- How we structure our dbt projects - How the dbt team structures its dbt projects.
- dbt for Data Transformation – Hands-on - Yet another tutorial for using dbt Cloud.
- Start Modeling Data - Configuring Bigquery with your dbt project.
- Accelerating Data Teams with dbt & Snowflake - A dbt & Snowflake workshop on financial data.
- How to set up a dbt data-ops workflow, using dbt cloud and Snowflake - Leverage GitHub Actions to set up CI/CD with dbt Core.
- How to configure your dbt repository - Mono-repo or not mono-repo?
- Doing More With Less: Using DBT to load data from AWS S3 to Snowflake via External Tables - An alternative guide to set up your dbt-external-tables workflow.
- Tips and Tricks about working with dbt - Tips from community members.
- Writing Unit Tests for dbt - An overview about the package dbt-unit-testing.
- How to create Kimball dimensional models with dbt - A step by step guide on how to build Kimball dimensional models with dbt.
- Best Practices for Leveraging Amazon Redshift and dbt - An overivew of best practices on how to integrate dbt with Redshift, that includes information about performance tunning and dbt code optimizations.
- Business Intelligence Standards - Best practices in Business Intelligence standards for integrating with dbt.
- Jinja cheatsheet - Jinja cheatsheet for dbt development.
- dbt guide - Primer on how you should properly set up and configure your dbt workflow.
- Best Practices for Optimizing Your dbt and Snowflake Deployment - Pocket guide on optimization best practices with Snowflake.
- Best Practices for your dbt Style Guide - Standards for well organized base layer with Airbyte ingestion.
- Best Practices for your dbt Style Guide - Standards for well organized base layer with Airbyte ingestion.
- Creating a dev environment quickly on Snowflake - Setting up teh integraton with Snowflake.
- How to Deploy dbt to Production using GitHub Actions
Integrations
- Auto Alert - diqu - Automate and streamline the alerting/ notification process for dbt test results using this versatile CLI companion tool. Receive detailed alerts & test metadata seamlessly on various platforms, promoting improved collaboration on dbt project issues 🐞🚀.
- Tabula - Tabula is an end-to-end automation platform for data management tasks.
- Grai - Expose warehouse dbt tests in CI to upstream data consumers so production changes never break the warehouse.
- Cube - APIs, Caching, and Access Control on top of dbt Metrics.
- FlexIt Analytics - Business Intelligence platform with deep dbt Cloud and CLI integration.
- Raycast dbt Jobs - Raycast integration to monitor dbt Cloud Jobs.
- Metaplane - Data Observaibility layer on top of your dbt + BI project.
- Dbt + Machine Learning: What makes a great baton pass? - Landscape of ML utilities around dbt.
- Supported Adapters - Offically supported database adapters.
- Superset - Open source visualization layer for your Modern Data Stack.
- dbt-streamdeck - Stream Deck plugin enables you to view the status of models and jobs as actions in your Stream Deck.
- modal-dbt - This repo gives some code to run dbt jobs/actions using modal which is a serverless application framework.
- Raycast dbt Metadata - Queries the dbt Cloud API to return some useful information about your models (number of tests, time they took to run etc…).
- Lightdash - Open source Looker alternative with deep dbt integration.
- fal - Add multi-language support (Python) to your dbt project.
- prefect-dbt - Collection of Prefect integrations for working with dbt with your Prefect flows.
- Datafold - Gives a quick print out summary of changes so you can move fast and (not) break stuff!
- dbt-cli-mcp - MCP for dbt CLI.
- dbt MCP Server - MCP tools to interact with dbt.
- Soda - Integration of Soda's data observability platform and dbt.
- dbt-agent-skills - A curated collection of agent skills, built and maintained by dbt Labs, to help AI coding agents work more effectively with dbt.
- ingestr - CLI tool to copy data from any source to any destination with a single command. Load data into your warehouse before dbt transforms it. Supports 50+ sources including Postgres, MongoDB, Salesforce, Shopify.
- Privacy Dynamics - Anonymize data in your dbt project.
- Dagster and dbt: Better Together - Getting started with the dagster-dbt library.
- Acryl DataHub - A unified data catalog, governance, and observability platform. Use it to view models, docs, test results, and column-level lineage across your dbt projects and downstream dashboards.
Orchestration
- Building a Scalable Analytics Architecture with Airflow and dbt - Leveraging the dbt manifest in Airflow.
- Auto-generating an Airflow DAG using the dbt manifest - Yet another article on extracting value from the manifest file.
- Building a robust data pipeline with the dAG stack: dbt, Airflow, Great Expectations - Demonstration of a data orchestration project with Airflow.
- Run dbt in Azure Data Factory - Primer about dbt on Azure Data Stack.
- Bruin - Run and schedule dbt-style SQL transformations without Airflow. Adds data ingestion (50+ sources) and built-in data quality to the transformation layer. Open-source CLI or managed Bruin Cloud for teams who want dbt Cloud-like experience with ingestion included.
- ModelDock - Hosted dbt-core scheduler. Connect your repo, pick dbt-core and adapter version, set a cron, run dbt-core in isolated Docker containers. No Airflow to manage.
- Orchestrate dbt Core jobs with Airflow and Cosmos - Run your dbt Core projects as Apache Airflow DAGs and Task Groups.
Packages
- dbt-incremental-stream - A dbt package for Snowflake Streams.
- dbt-dag-monitoring - A dbt package for monitoring airflow DAGs and tasks.
- dbt-data-diff - Data-diff solution for dbt-ers with Snowflake.
- dbt-tags - Tag-based masking policies management in Snowflake.
- dbt-testgen - Generate dbt tests based on sample data.
- dbt_otel_export - Takes dbt runs and turns them into OpenTelemetry traces.
- dbt-assertions - Package to assert rows in-line with dbt macros.
- dbt-ibis - Write your dbt models using Ibis, the portable Python dataframe library.
- dbt-timescaledb - The TimescaleDB adapter plugin for dbt.
- dbt-fake - Daily updated fake data for dbt learning and projects.
- dbt_cloud_run_cost - Package to calculate dbt Cloud usage-based cost.
- dbt-reconfigured - A dbt package containing reconfigured macros.
- dbt-census-utils - A collection of dbt macros for working with Census data.
- dq-vault - Data Quality Observation of Data Vault layer.
- dbt-translate - Translate numbers into words.
- dbt-excel - A dbt adapter for working with Excel.
- dbt_linreg - Linear regression in SQL using dbt.
- dbt-snowflake-query-tags - Automatically tag dbt-issued queries with informative metadata.
- snowflake-resource-monitoring - Yet another package to monitor Snowflake usage.
- usagedata - Provides insights on the database/table level usage informations from Snowflake.
- dbt_ml - Package for dbt that allows users to train, audit and use BigQuery ML models.
- ddbt - This repo represents my attempt to build a fast version of DBT which gets very slow on large projects (3000+ data models). This project attempts to be a direct drop in replacement for DBT at the command line.
- dbt-snowflake-monitoring - A dbt package to help you monitor Snowflake performance and costs.
- datavault4dbt - Macros for staging and creation of all DataVault-Entities you need, to build your own DataVault2.0 solution.
- DDO - Perform DataOps & administrative CI/CD on your data warehouse.
- dbt-yaml-check - Checks that columns defined in YAML also exist in SQL.
- data-diff - A command-line tool and Python library to efficiently diff rows across two different databases.
- dbt-project-evaluator - This package highlights areas of a dbt project that are misaligned with dbt Labs' best practices.
- dbt_constraints - Generate database constraints based on the tests in a dbt project.
- dbt-privacy - Macros to make it easier to protect your customers' data.
- dbt-fivetran-utils - General macros and helpers.
- dbt_metrics - Macros to support secondary calculations and generate business metrics.
- dbt-metabase - Model synchronization from dbt to Metabase.
- dbt-ml-preprocessing - A SQL port of python's scikit-learn preprocessing module, provided as cross-database dbt macros.
- dbt-external-tables - Macros to stage your external sources.
- dbt-feature-store - Macros to build a feature store right within your dbt project.
- dbt-codegen - Macros that generate dbt code, and log it to the command line.
- dbt-init - Create a project and populate as much of the dbt project as possible.
- dbt-artifacts - This package builds a mart of tables from dbt artifacts loaded into a table.
- dbt-erdiagram-generator - This packages generate ERD diagrams from a dbt project.
- dbt2looker - Generate Looker views for dbt models.
- dbt-coverage - Checks dbt docs and tests coverage.
- dbt-meta-testing - Yet another coverage testing.
- dbt-superset-lineage - Push and pull metadata between dbt to Superset.
- dbt-invoke - CLI for creating, updating, and deleting dbt property files.
- dbt-unit-testing - Package which contains macros to support unit testing.
- dbt-snow-mask - A dbt package for Snowflake Dynamic Data Masking.
- dbt-fabric - A dbt adapter for working with Microsoft Fabric Data Warehouses.
- dbt-fabricspark - A code package from Microsoft for enabling dbt to work with Synapse Spark in Microsoft Fabric.
- dbtvault - Package for generating and executing ETL for Data Vault 2.0.
- dbt-ml-inline-preprocessing - Feature Engineering in dbt.
- dbt_semantic_view/
- dbt_audit_helper - Macros for data audits that compare columns values and schemas between tables.
- Terraform-dbt Cloud Module - IAC in dbt Cloud via Terraform.
- dbt-date - Date logic and calendar functionality.
- dbt_diving - A free to use dbt package with helper macros
- dbt-unirate - Currency exchange rate macros and models for dbt, powered by the UniRate API.
- dbt-fabricsparknb - Dbt Fabric Spark Notebook Generator by Insight based on/forked form dbt-fabricspark by Microsoft.
- dbt-coves - CLI tool for generating a scaffold for your dbt project.
- dbt-profiler - Data profiling and doc block generator.
- dbt_utils - General macros library. A must have.
Sample Projects
- Analytics Engineer Survey 2023 - Repo containing data and dbt template of the survey.
- Tracking the Fake GitHub Star Black Market with Dagster, dbt and BigQuery - Explore the topic of fake GitHub stars.
- GitLab Data Team - GitLab's open source dbt project.
- aws athena x dbt - How to build a small and modern data infrastructure.
- image - Data Build Tool (dbt) for Effective Data Transformation on AWS
- Part 1 – Redshift
- Part 2 – Glue
- Part 3 – EMR on EC2
- Part 4 – EMR on EKS
- Part 5 – Athena
- datafold-dbt-ci-advanced - Add 4 more integrations to your dbt CI pipeline: Slim CI, pre-commit hooks, Data Diffs, and Slack notifications.
- NBA_Data_Modeling - Using the official NBA API, this repo explains how to ingest, store, transform, and serve insights.
- awesome-public-dbt-projects - A curated list of awesome public dbt projects.
- mdsinabox - MDS in a box deployed anywhere.
- gee_production_gatekeepers - A demonstration of production gatekeepers in Snowflake and BigQuery.
- mdsfest-opensource-mds - Demo project for open source MDS.
- f1-data-pipeline - F1 Data Pipeline.
- transfermarkt-datasets - E2E dbt project for scraping and transforming football data from Transfermarkt.
- dbt_github_archive_bigquery - A dbt project for GitHub Archive data on BigQuery.
- dbt_workspace - A workspace template for dbt demos.