Master LLMs with our FREE course in collaboration with Activeloop & Intel Disruptor Initiative. Join now!

Publication

[DBT] Set Snowflake Query Tag for each DBT model [Tip-2]
Latest   Machine Learning

[DBT] Set Snowflake Query Tag for each DBT model [Tip-2]

Last Updated on July 26, 2023 by Editorial Team

Author(s): Karthikeyan Siva Baskaran

Originally published on Towards AI.

Software Engineering

Query Tag feature in DBT is a database-specific configuration. In this article, let see how to customize it for Snowflake.

Query tags are a Snowflake parameter that can be quite useful later on when searching in the QUERY_HISTORY view.

Default Query Tag can be set in the Profiles.yml

This will be applied to all the queries triggered from DBT to Snowflake.

3 ways to configure query tag

  1. Configure it in dbt_project.yml, the drawback in this approach is we can only add string, can’t execute a macro with the current dbt version. For now, DBT supports only a few lists of contexts in the project YAML file.
Source: https://docs.getdbt.com/reference/resource-configs/snowflake-configs

2. Configure it under each model config, the drawback is repeating the same config in all models, which is not a good practice.

Source: https://docs.getdbt.com/reference/resource-configs/snowflake-configs

Solution

3. Override the default query tag macro and customize it based on the requirement.

Before each model, the Snowflake session-level query tags will be updated. Once the model run is completed, it will be automatically reset to default query tag which is set in profiles.yml

alter session set query_tag = ‘dbt_model_name’

DBT log output when log to console is enabled for the demo,

Snowflake History queries below,

The above same code is also maintained under this ever-growing git repository.

GitHub – karthikeyan-sivabaskaran/dbt-tips-and-tricks-series: This repo will keep growing to demo…

You can't perform that action at this time. You signed in with another tab or window. You signed out in another tab or…

github.com

I hope this article helped you to customise the query tag. If you like this blog, please share it with your teammates, friends, and clap U+1F44F in the range of 1 to 50 in Medium. You can clap up to 50 times per post.

Photo by Stillness InMotion on Unsplash

Happy Overriding!

This article is part of DBT Tips and Tricks Series. Previous articles like below:

[DBT] Override Default Schema with Custom Schema name [Tip-1]

This article is part of the DBT Tips and Tricks Series

medium.com

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

Published via Towards AI

Feedback ↓