Tools
dbt
dbt Integration
Honeydew dbt integration allows to materialize Honeydew-managed datasets via dbt.
Usage
Dynamic Datasets in dbt
Given a dynamic dataset named my_dataset_name
create a dbt model called my_dataset_name.sql
.
Put the following in the model code:
-- Optional: Set up various materialization parameters
{{ config(materialized='table') }}
-- Set up any additional dependencies in dbt with
-- depends_on: {{ ref('upstream_parent_model') }}
-- Dynamic dataset materialization
{{ honeydew.get_dataset_sql('my_dataset_name') }}
Setup
Installation
Honeydew runs in dbt projects connected to Snowflake. To interact with Honeydew, dbt can call the Honeydew Native Application.
Install the Honeydew dbt package by adding to packages.yml
of your dbt project:
packages:
- git: "https://github.com/honeydew-ai/honeydew-dbt.git"
revision: "latest"
Run dbt deps
to apply.
Set the following variables in the dbt project configuration (dbt_project.yml
):
Name | Meaning |
---|---|
honeydew:workspace | Workspace in which to operate. |
honeydew:branch | Branch in which to operate. Default=prod |
honeydew:snowflake_native_app_name | Snowflake native app installed name. Default=SEMANTIC_LAYER_ENTERPRISE_EDITION |
An example dbt_project.yml
configuration:
vars:
"honeydew:workspace": "tpch_demo"
"honeydew:branch": "prod"
"honeydew:snowflake_native_app_name": "SEMANTIC_LAYER_ENTERPRISE_EDITION"
Metadata Sync
dbt Metadata Sync is coming soon.
Honeydew dbt metadata sync supports syncing with dbt the following metadata:
- Source dbt model references (when source dbt model is set for entities)
- Column descriptions
- Labels (as tags)
- General purpose metadata (if set)
Was this page helpful?