Metadata Ingestion - Incremental Extraction
The default Metadata Ingestion roughly follows these steps:- Fetch all the information from the Source.
- Compare the information with Collate to update it properly.
- Compare the information with Collate to delete entities that were deleted.
- Fetch the last successful pipeline run.
- Add a small safety margin.
- Get all the structural changes since then.
- Flag deleted entities.
- Fetch/Compare only the entities with structural changes.
- Delete entities flagged for deletion.
Validate Incremental Runs
Validate incremental extraction after enabling it and after changing source permissions or filters:- Make a known structural change in the source, such as creating a test table or adding a column.
- Run the incremental Metadata Agent.
- On the service detail page, open the Agents tab and confirm that the run completed successfully. If the run failed or completed with partial success, review its logs before validating the catalog.
- Open the affected asset in Collate and confirm that the structural change appears. For a deletion, confirm that the asset is marked as deleted when the agent has the corresponding Mark Deleted option enabled.
- Review the run logs for warnings about source change-history access, skipped objects, or filters. A successful run confirms that the workflow completed, but you should still verify representative source changes in Collate.
Schedule a Periodic Full Run
Use two Metadata Agents for the same database service when you want frequent incremental updates and a periodic full reconciliation:- Keep Incremental Extraction enabled on the frequently scheduled agent.
- Add a second Metadata Agent for the same service and leave Incremental Extraction disabled.
- Give the agents distinct names so their run histories are easy to identify.
- Schedule the full agent less frequently, such as weekly, and avoid overlapping the two schedules.
- Use the full run to reconcile the complete source state. Review its logs and spot-check any metadata that was missing after incremental runs.
External Ingestion
When using the Incremental Extraction feature with External Ingestions (ingesting using YAML files instead of setting it up from the UI), you must pass the ingestion pipeline fully qualified name to the configuration. This should be{service_name}{pipeline_name}
Example:
Feature available for
Databases
BigQuery
BETA | Collate
Redshift
BETA | Collate
Snowflake
BETA | Collate


