1. Custom Schemas: Structuring Your Data
Dbt allows you to define custom schemas for organizing your models within a database. Instead of relying on the default schema, you can create logical groupings that align with your business domains or functional areas. This not only enhances the readability of your project but also simplifies collaboration among team members.
How to use custom schemas?
Use the schema configuration key to specify a custom schema for a model. As with any configuration, you can either:
- apply this configuration to a specific model by using a config block within a model, or
- apply it to a subdirectory of models by specifying it in your dbt_project.yml file
orders.sql {{ config(schema='marketing') }} select
dbt_project.yml # models in `models/marketing/ will be rendered to the "*_marketing" schema models: my_project: marketing: +schema: marketing
2. Custom Databases: Isolating Environments
In addition to custom schemas, dbt enables you to use custom databases. This is particularly useful for isolating environments, such as separating development, staging, and production databases. Custom databases provide a structured approach to managing different stages of your data pipeline and reduce the risk of unintended changes in critical environments.
Example –
name: jaffle_shop models: jaffle_shop: +database: jaffle_shop # For BigQuery users: # project: jaffle_shop
3. Custom Aliases: Enhancing Readability
Custom aliases in dbt allow you to provide alternative names for your models. This is helpful when the underlying table names are not intuitive or need to be simplified for clarity. Custom aliases make your SQL queries more readable and user-friendly.
Example:
SELECT * FROM finance.revenue.revenue_model AS rev
4. Custom Target Names: Tailoring Outputs
Note – This is for dbt cloud IDE
When developing in dbt Cloud, you can set a custom target name in your development credentials. Go to your account (from the gear menu in the top right hand corner), select the project under Credentials, and update the target name.
We at Helical have more than 10 years of experience in providing solutions and services in the domain of data and have served more than 85+ clients. We are also DBT partners, hence in case if you are looking for certain assistance, consulting, services please do reach out on nikhilesh@Helicaltech.com
Thank You
Nikitha Rastapuram
Helical IT Solutions