09-19, 16:20–16:55 (Europe/Amsterdam), Escher
dbt (Data Build Tool) is a great framework for creating, building, organizing, testing and documenting data models, i.e. data sets living in a database or a data warehouse. Through a declarative approach, it allows data practitioners to build data with a methodology inspired by software development practices.
This leads to data models being bundled with a lot of metadata, such as documentation, data tests, access control information, column types and constraints, 3rd party integrations... Not to mention any other metadata that organizations need, fully supported through the meta parameter.
At scale, with hundreds or thousands of data models, all this metadata can become confusing, disparate, and inconsistent. It's hard to enforce good practices and maintain them in continuous integration systems. We introduce in this presentation a linter we have built: dbt-score. It allows data teams to programmatically define and enforce metadata rules, in an easy and scalable manner.
dbt-score is an open-source linter for dbt metadata. It is designed to be flexible to enforce and encourage any good practice set up by data teams. Through its CLI, data practitioners can easily obtain a maturity score of their data models, keep the metadata chaos manageable, improve consistency, and eventually deliver high-quality data.
Documentation: https://dbt-score.picnic.tech/
Github repository: https://github.com/PicnicSupermarket/dbt-score
Matthieu Caneill holds a PhD in computer science, and is now working as a data & software engineer, empowering dozens of dbt users through his passion for well crafted data & software.