About dbt compile command
dbt compile
generates executable SQL from source model
, test
, and analysis
files. You can find these compiled SQL files in the target/
directory of your dbt project.
The compile
command is useful for:
- Visually inspecting the compiled output of model files. This is useful for validating complex jinja logic or macro usage.
- Manually running compiled SQL. While debugging a model or schema test, it's often useful to execute the underlying
select
statement to find the source of the bug. - Compiling
analysis
files. Read more about analysis files here.
Some common misconceptions:
dbt compile
is not a pre-requisite ofdbt run
, or other building commands. Those commands will handle compilation themselves.- If you just want dbt to read and validate your project code, without connecting to the data warehouse, use
dbt parse
instead.
The command accesses the data platform to cache related metadata, and to run introspective queries. Use the flags:
--no-populate-cache
to disable initial cache population. If metadata is needed, it will be a cache miss, requiring dbt to run the metadata query.--no-introspect
to disable instrospective queries. dbt will raise an error if a model's definition requires running one.
FAQs
0