Prerequisites
- An Admin role to change the dbt™ version and to set Default or Bolt variables. Any user can turn Paradime State on for their own Code IDE.
- A project that parses on dbt™ 2.0. See Prepare for dbt™ v2.
- A supported warehouse.
Steps
1
Switch to dbt™ 2.0-latest
Paradime State runs only on dbt™ 2.0. Switch where you want to use it:
- The whole workspace: go to Settings > General, select Change version next to the dbt™ version, choose
2.0-latest, and save. Open Code IDE sessions restart, and Bolt re-parses your schedules. - One Bolt environment: go to Settings > Environments, open the Bolt environment’s menu (⋮), select Environment settings, and set dbt version to
2.0-latest.
The Code IDE always uses the workspace’s dbt™ version. To use Paradime State in the Code IDE, switch the whole workspace. See Manage dbt™ version.
2
Add the PARADIME_STATE_ENABLED variable
Go to Settings > Environment Variables and select Add variable. In the New environment variable panel, enter
PARADIME_STATE_ENABLED as the Key, then enter 1 in the box for each environment where you want Paradime State on:Leave a box empty to inherit the Default value, then save. Any of
1, true, yes, or on turns it on.3
Let Bolt and the Code IDE pick up the change
- Bolt reads the variable when it parses your schedules, not when a run starts. Saving a Default value re-parses them automatically. After saving a Bolt · <environment> value, open Bolt and select Parse schedules, or wait for the next automatic parse (about 10 minutes).
- Code IDE: after saving your Code IDE value, open a new terminal. Terminals that were already open keep their old environment.
A Default value reaches your Code IDE the next time your IDE profile is written, for example when you save any of your Code IDE variables. To start right away, set the variable in your Code IDE box.
4
Run dbt build twice
Run
dbt build, from a Bolt schedule or in the Code IDE terminal. The first run has nothing to compare against, so it builds every node and records a baseline. Run it again without changing anything: the unchanged nodes are skipped.Each state-aware run ends with a summary that starts with =========== Paradime State ===========, followed by counts such as executed, skipped, and compute saved (est.). See Read a Paradime State run.The second run’s summary lists your unchanged nodes under
skipped. If a run has no Paradime State summary at all, it didn’t go through Paradime State: see No Paradime State summary at the end of the run.Turn it on or off for one schedule
To change one schedule without touching the rest of its environment, override the variable on that schedule.0 turns Paradime State off and 1 turns it on.
-
YAML schedules: add the variable with
env_overrides. It takes effect when Bolt next parses the schedule. -
Schedules created in the UI: use a Schedule override. An override can only change a variable that’s already set for the schedule’s environment, so add
PARADIME_STATE_ENABLEDto the Bolt environment first, then override it on the schedule.
Turn it off
SetPARADIME_STATE_DISABLED to 1 in any box. It wins over PARADIME_STATE_ENABLED, so it’s the quickest way to switch one environment back to plain dbt™ without changing anything else. Deleting PARADIME_STATE_ENABLED also turns it off. As with turning it on, Bolt applies the change at its next parse.
In a Code IDE terminal, export PARADIME_STATE_DISABLED=1 turns it off for that terminal until you close it.
Next steps
Read a Paradime State run
What each line of the summary means.
Configuration reference
Tune when nodes rebuild with
lag_tolerance and the other settings.Environment variables
How variable scopes and precedence work.
Manage dbt™ version
Workspace and per-environment dbt™ versions.