Go to file
Eric Laurello 62cc81b0d1 add target
2024-04-16 09:01:12 -04:00
.github/workflows add target 2024-04-16 09:01:12 -04:00
analyses _full change 2023-05-19 11:15:10 -04:00
data workflow 2024-04-15 16:44:24 -04:00
docs overview 2023-02-10 11:52:53 -05:00
macros final updates 2024-04-12 17:19:01 -04:00
models remove inc logic 2024-04-15 16:40:01 -04:00
snapshots push to main 2022-10-05 15:53:53 -04:00
tests push to main 2022-10-05 15:53:53 -04:00
.gitignore op and base added 2023-08-09 11:37:31 -06:00
dbt_project.yml final updates 2024-04-12 17:19:01 -04:00
LICENSE Initial commit 2022-09-14 17:40:45 -04:00
package-lock.yml final updates 2024-04-12 17:19:01 -04:00
packages.yml final updates 2024-04-12 17:19:01 -04:00
profiles.yml workflow 2024-04-16 08:40:53 -04:00
README.md Update README.md 2023-11-09 08:12:32 -05:00
requirements.txt pin protobuf 2024-03-13 15:26:23 -04:00

Welcome to your new dbt project!

Using the starter project

Try running the following commands:

  • dbt run
  • dbt test

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

Steps:

step 1: update the profiles.yml

ethereum:
  target: dev
  outputs:
    dev:
      type: snowflake
      account: <ACCOUNT>
      role: <ROLE>
      user: <USERNAME>
      password: <PASSWORD>
      region: <REGION>
      database: ETHEREUM_DEV
      warehouse: <WAREHOUSE>
      schema: silver
      threads: 12
      client_session_keep_alive: False
      query_tag: <TAG>
    prod:
      type: snowflake
      account: <ACCOUNT>
      role: <ROLE>
      user: <USERNAME>
      password: <PASSWORD>
      region: <REGION>
      database: ETHEREUM
      warehouse: <WAREHOUSE>
      schema: silver
      threads: 12
      client_session_keep_alive: False
      query_tag: <TAG>

lambda integration

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('solana.core.fact_blocks', 'table'));