Ingest Lineage from dbt
Ingest the lineage information from dbtmanifest.json file into OpenMetadata.
OpenMetadata extracts the lineage information from the depends_on and compiled_query/compiled_code keys from the manifest file.
To capture lineage, the
compiled_code field must be present in the manifest.json file.- If
compiled_codeis missing, lineage will not be captured for that node. - To ensure
compiled_codeis populated in your dbt manifest, run the following commands in your dbt project:dbt compiledbt docs generate
1. Lineage information from dbt “depends_on” key
Openmetadata fetches the lineage information from themanifest.json file. Below is a sample manifest.json file node containing lineage information under node_name->depends_on->nodes.

2. Lineage information from dbt queries
Openmetadata fetches the dbt query information from themanifest.json file.
Below is a sample manifest.json file node containing dbt query information under node_name->compiled_code or node_name->compiled_sql.
Map dbt Catalog Names to OpenMetadata Databases
OpenMetadata matches each model inmanifest.json to a table using the database name that dbt writes into the manifest. That name can differ from the name the connector ingested the table under. For example, dbt-trino writes the Trino catalog name (bq_catalog) for tables that the BigQuery connector ingests under the GCP project ID (my-gcp-project). Without a match, OpenMetadata can’t link the dbt model to the table.
Use Catalog Mapping in the dbt ingestion configuration to resolve this. Add one entry per catalog:
- Key: the database name in the dbt manifest, for example
bq_catalog. Keys are matched ignoring case. - Value: the database name in OpenMetadata, for example
my-gcp-project.
catalogMapping under sourceConfig.config: