Go to file
2024-01-25 08:44:30 -05:00
.github/workflows scheds fix 2023-11-10 17:52:50 -05:00
analyses added streamline udtf definitions 2023-05-08 13:30:36 -07:00
data tags and schedules 2023-11-10 17:16:08 -05:00
macros manual tx load process 2023-11-01 17:44:42 -04:00
models auto fix observe blocks 2024-01-25 08:44:30 -05:00
tests/silver/dex_lp_actions ex-alias 2022-12-05 11:42:15 -07:00
.env.sample mdao dbt init 2022-09-06 15:15:37 -06:00
.gitignore added streamline udtf definitions 2023-05-08 13:30:36 -07:00
dbt_project.yml blocks >100 txns 2023-12-05 10:24:37 -05:00
LICENSE updates 2023-04-07 10:54:30 -06:00
package-lock.yml dbt 1.7 and pages cleanup 2024-01-24 17:08:48 -05:00
packages.yml workflows to prod 2023-11-06 12:07:41 -05:00
profiles.yml 1 more named near 2022-09-09 08:16:41 -06:00
README.md updates 2023-04-07 10:54:30 -06:00
requirements.txt req 2023-11-06 13:48:08 -05:00

Profile Set Up

Use the following within profiles.yml


terra:
  target: dev
  outputs:
    dev:
      type: snowflake
      account: vna27887.us-east-1
      role: INTERNAL_DEV
      user: <USERNAME>
      password: <PASSWORD>
      region: us-east-1
      database: TERRA_DEV
      warehouse: DATA_SCIENCE
      schema: silver
      threads: 12
      client_session_keep_alive: False
      query_tag: <QUERY_TAG>
    prod:
      type: snowflake
      account: vna27887.us-east-1
      role: DBT_CLOUD_TERRA
      user: <USERNAME>
      password: <PASSWORD>
      region: us-east-1
      database: TERRA
      warehouse: DATA_SCIENCE
      schema: silver
      threads: 12
      client_session_keep_alive: False
      query_tag: <QUERY_TAG>

Resources:

  • Learn more about dbt in the docs
  • Check out Discourse for commonly asked questions and answers
  • Join the chat on Slack for live discussions and support
  • Find dbt events near you
  • Check out the blog for the latest news on dbt's development and best practices

Applying Model Tags

Database / Schema level tags

Database and schema tags are applied via the add_database_or_schema_tags macro. These tags are inherited by their downstream objects. To add/modify tags call the appropriate tag set function within the macro.

{{ set_database_tag_value('SOME_DATABASE_TAG_KEY','SOME_DATABASE_TAG_VALUE') }}
{{ set_schema_tag_value('SOME_SCHEMA_TAG_KEY','SOME_SCHEMA_TAG_VALUE') }}

Model tags

To add/update a model's snowflake tags, add/modify the meta model property under config. Only table level tags are supported at this time via DBT.

{{ config(
    ...,
    meta={
        'database_tags':{
            'table': {
                'PURPOSE': 'SOME_PURPOSE'
            }
        }
    },
    ...
) }}

By default, model tags are not pushed to snowflake on each load. You can push a tag update for a model by specifying the UPDATE_SNOWFLAKE_TAGS project variable during a run.

dbt run --var '{"UPDATE_SNOWFLAKE_TAGS":True}' -s models/core/core__fact_swaps.sql

Querying for existing tags on a model in snowflake

select *
from table(solana.information_schema.tag_references('terra.core.fact_blocks', 'table'));