dbt
Extracts metadata from a dbt project's manifest.json, with optional column type enrichment from catalog.json. It emits model and source entities, plus lineage and ownership edges.
Usage
source:
name: dbt
scope: my-dbt-project
config:
manifest: target/manifest.json
catalog: target/catalog.jsonConfiguration
| Key | Type | Description | Required |
|---|---|---|---|
manifest | string | Path to the dbt manifest.json file. Must be an existing file. | Yes |
catalog | string | Path to the dbt catalog.json file. When set, column types are enriched with actual warehouse types. | No |
Output
Emits two entity types:
| Entity | URN pattern |
|---|---|
model | urn:dbt:{scope}:model:{model_path} |
source | urn:dbt:{scope}:source:{source_path} |
Notable model properties:
database,schema- where the model is builtmaterialization-table,view,incremental, etc.sql_path- path to the model file in the projectlanguage- model language, if settags,meta- dbt tags and meta, if setcolumns- column name, description, and data type
Notable source properties:
database,schema,source_nameloader- the tool that loads the source, if settags,meta,columns
Edges
| Edge type | From | To |
|---|---|---|
derived_from | model | model or source it depends on |
owned_by | model | user (from meta.owner) |
owned_by | source | user (from meta.owner) |
Notes
Any dbt command (dbt run, dbt build, dbt compile) generates manifest.json. dbt docs generate creates catalog.json. This works with both dbt Core (local target/ artifacts) and dbt Cloud (download artifacts via the API or CI).