rakam_project.yml Properties
rakam_project.yml
file is an optional config file that allows you to customize the dbt projects. You can parameterize your dbt projects and let other users install dbt projects on their data warehouse using rakam_project.yml
file. Your recipe will look like this if you publish it to rakam-recipes
Here is the full list of properties that you can use:
label (2)
By default, the label is the name
of dbt_project.yml
, if you specify a value here, it will be shown as the label of the recipe.
label: Firebase Analytics
description (3)
description: Analytics models for Firebase BigQuery Export.
image (1)
It's an external URL of an image of the recipe. It's usually convenient to store the image in the GIT repository and use the public URL as follows:
image: https://github.com/rakam-io/recipes/raw/master/firebase/logo.png
tags (4)
If you want to list the recipe under different categories such as Marketing
or Product Analytics
, you can add tags to your recipe. Here is an example value:
tags: [event-analytics]
Note that the tags must be lowercase, only dash (-) and alphanumeric characters are allowed as tags.
variables
The variables let you to create parameterized dbt projects. The end-users interact with the user interface in order to specify the dbt project variables and you can access them using the var
function just like the usual dbt configs. Here is an example:
variables:
schema:
label: DataVault Schema
type: schema
default:
schema: tenjin
description:
The Tenjin DataVault Schema that you ingest the data. The schema must have tables such as apps, campaign_buckets, events etc.
It compiles to the following user interface that lets the end-users to select the schema using a dropdown.
The following properties can be defined under variables
:
type
The UI element that will be used. Here are the allowed values for the type
of variables:
Type names | Description | Options |
---|---|---|
numeric , string , boolean | primitive values | |
dropdown , choice | being used for allowing the user to select one or more items. | options: multiple: true choices: [] |
model , dimension , measure | can be used if you need extra model definitions in your recipe. | |
table , schema , and table-column | can be used if you want to use it to provide database relations. | |
target | can be used if you want the user to select the target a materialized SQL model. | |
sql | options: sql: select 1 |
label
label: My variable label
description
label: My variable description
default
An optional default value for the variable.
parent
If your variable depends on another variable, you can specify the parent as follows:
variables:
schema:
label: Event Schema
type: schema
table:
type: table
parent: schema
Once the user select the schema
, the tables under the schema will be listed in table
variable.
databases
If restricts the recipe to be installed only in specified databases. If your dbt project is uses database-specific syntax, you should specify the databases that supports the syntax that you use as follows:
databases: [postgresql]
You need to use the slug
of the database listed in Supported Warehouses page.
Updated over 3 years ago