dbt Command reference
You can run dbt using the following tools:
- In your browser with the dbt Cloud IDE
- On the command line interface using the dbt Cloud CLI or open-source dbt Core.
A key distinction with the tools mentioned, is that dbt Cloud CLI and IDE are designed to support safe parallel execution of dbt commands, leveraging dbt Cloud's infrastructure and its comprehensive features. In contrast, dbt-core
doesn't support safe parallel execution for multiple invocations in the same process. Learn more in the parallel execution section.
Parallel execution
dbt Cloud allows for parallel execution of commands, enhancing efficiency without compromising data integrity. This enables you to run multiple commands at the same time, however it's important to understand which commands can be run in parallel and which can't.
In contrast, dbt-core
doesn't support safe parallel execution for multiple invocations in the same process, and requires users to manage concurrency manually to ensure data integrity and system stability.
To ensure your dbt workflows are both efficient and safe, you can run different types of dbt commands at the same time (in parallel) — for example, dbt build
(write operation) can safely run alongside dbt parse
(read operation) at the same time. However, you can't run dbt build
and dbt run
(both write operations) at the same time.
dbt commands can be read
or write
commands:
Command type | Description | Example |
---|---|---|
Write | These commands perform actions that change data or metadata in your data platform. Limited to one invocation at any given time, which prevents any potential conflicts, such as overwriting the same table in your data platform at the same time. | dbt build dbt run |
Read | These commands involve operations that fetch or read data without making any changes to your data platform. Can have multiple invocations in parallel and aren't limited to one invocation at any given time. This means read commands can run in parallel with other read commands and a single write command. | dbt parse dbt compile |
Available commands
The following sections outline the commands supported by dbt and their relevant flags. They are available in all tools and all supported versions unless noted otherwise. You can run these commands in your specific tool by prefixing them with dbt
— for example, to run the test
command, type dbt test
.
For information about selecting models on the command line, refer to Model selection syntax.
Commands with a ('❌') indicate write commands, commands with a ('✅') indicate read commands, and commands with a (N/A) indicate it's not relevant to the parallelization of dbt commands.
Command | Description | Parallel execution | Caveats |
---|---|---|---|
build | Build and test all selected resources (models, seeds, snapshots, tests) | ❌ | All tools All supported versions |
cancel | Cancels the most recent invocation. | N/A | dbt Cloud CLI Requires dbt v1.6 or higher |
clean | Deletes artifacts present in the dbt project | ✅ | All tools All supported versions |
clone | Clone selected models from the specified state | ❌ | All tools Requires dbt v1.6 or higher |
compile | Compiles (but does not run) the models in a project | ✅ | All tools All supported versions |
debug | Debugs dbt connections and projects | ✅ | dbt Cloud IDE, dbt Core All supported versions |
deps | Downloads dependencies for a project | ✅ | All tools All supported versions |
docs | Generates documentation for a project | ✅ | All tools All supported versions |
environment | Enables you to interact with your dbt Cloud environment. | N/A | dbt Cloud CLI Requires dbt v1.5 or higher |
help | Displays help information for any command | N/A | dbt Core, dbt Cloud CLI All supported versions |
init | Initializes a new dbt project | ✅ | dbt Core All supported versions |
list | Lists resources defined in a dbt project | ✅ | All tools All supported versions |
parse | Parses a project and writes detailed timing info | ✅ | All tools All supported versions |
reattach | Reattaches to the most recent invocation to retrieve logs and artifacts. | N/A | dbt Cloud CLI Requires dbt v1.6 or higher |
retry | Retry the last run dbt command from the point of failure | ❌ | All tools Requires dbt v1.6 or higher |
run | Runs the models in a project | ❌ | All tools All supported versions |
run-operation | Invoke a macro, including running arbitrary maintenance SQL against the database | ❌ | All tools All supported versions |
seed | Loads CSV files into the database | ❌ | All tools All supported versions |
show | Preview table rows post-transformation | ✅ | All tools All supported versions |
snapshot | Executes "snapshot" jobs defined in a project | ❌ | All tools All supported versions |
source | Provides tools for working with source data (including validating that sources are "fresh") | ✅ | All tools All supported versions |
test | Executes tests defined in a project | ✅ | All tools All supported versions |
Note, use the --version flag to display the installed dbt Core or dbt Cloud CLI version. (Not applicable for the dbt Cloud IDE). Available on all supported versions. |