Het dbt-manifest (manifest.json) is een van de rijkste bronnen voor datalineage die beschikbaar zijn in moderne datastacks. Het wordt automatisch gegenereerd door dbt bij elke build en bevat de volledige documentatie van de structuur van het dbt-project.
Wat het manifest bevat
Het manifest is een groot JSON-bestand dat het volgende bevat:
- Knooppuntdefinities: Elk model, seed, snapshot en test in het project, met hun SQL-definities en metadata
- Kolominformatie: Kolomnamen, gegevenstypen en beschrijvingen voor alle gedocumenteerde modellen
- Brondefinities: Externe databasetabellen waaruit dbt leest (niet beheerd door dbt)
- Afhankelijkheidsgrafiek: De ouder/kind-relaties tussen alle knooppunten, welk model afhankelijk is van welke andere modellen of bronnen
Het manifest gebruiken voor Power BI-lineage
Voor Power BI-lineage biedt het manifest twee cruciale mappings:
1. 1. dbt-model → uitvoertabel**: Elk modelknooppunt in het manifest specificeert de database, het schema en de tabelnaam waarnaar de uitvoer wordt geschreven. Door deze uitvoer te vergelijken met de configuraties van de Power BI-gegevensbron, kunt u koppelingen tussen modellen en datasets tot stand brengen.
2. Bron → dbt-model: Bronknooppunten in het manifest definiëren de externe tabellen waaruit dbt leest. Door deze te vergelijken met de uitvoer van de ADF pipeline, kunt u de herkomst verder stroomopwaarts uitbreiden: ADF pipeline → stagingtabel → dbt-model → servertabel → Power BI-dataset.
Schemawijzigingsdetectie op basis van manifest
Naast herkomst maakt het manifest schemawijzigingsdetectie mogelijk. Wanneer de kolommen van een dbt-model tussen builds wijzigen, omdat een ontwikkelaar de SQL heeft aangepast, toont het manifestverschil precies wat er is gewijzigd: welke kolom is toegevoegd, verwijderd of hernoemd. Deze wijziging kan worden opgemerkt als een potentieel risico voor Power BI-datasets voordat de refresh daadwerkelijk wordt uitgevoerd.
Toegang tot het manifest van dbt Cloud versus dbt Core
Voor dbt Cloud is het manifest na elke jobrun toegankelijk via de dbt Cloud API. Voor zelfgehoste dbt Core wordt het manifest gegenereerd in de target/-directory van het project na elke dbt run of dbt build opdracht. MetricSign heeft toegang tot het dbt Cloud-manifest via de API en tot het dbt Core-manifest via een CI/CD-webhook die het artefact na elke run uploadt.