Metadata import with interface tables
The SQL crawling strategy supports an interface tables pattern: you map rows from source tables or views to Blindata resources by writing SELECT queries whose column aliases match the expected schema. Unlike the JDBC driver strategy—which reads standard JDBC metadata—the SQL strategy lets you source metadata from any queryable structure: operational schemas, staging tables, lineage repositories, BI tool databases, or custom views built for governance.
Instead of inserting rows into fixed staging tables in a repository, you point each extraction query at the tables that already hold (or can expose) the metadata, and the agent uploads the result set on each run.
Note
Interface tables apply to the SQL strategy only. For JDBC-native catalog extraction, see Import Metadata with SQL or JDBC .
When to use interface tables
Use SQL crawling when you need to:
- Document a system without a native connector — custom applications, APIs materialized as tables, file catalogs, or legacy platforms
- Automate metadata loading — generate or refresh metadata from scripts, ETL jobs, or CI/CD pipelines on a schedule
- Combine metadata from multiple tools — merge catalog, lineage, and glossary mappings into one Blindata system
- Import external lineage — load dataflows that involve objects outside standard catalog views
- Enrich catalog assets — attach custom properties or semantic links already maintained upstream
For systems with a standard INFORMATION_SCHEMA (or equivalent), default SQL queries often work out of the box. Interface tables become essential when metadata lives elsewhere.
How it works
- Prepare the source — ensure metadata is available in queryable tables or views (your own interface schema, a vendor repository, or catalog views).
- Configure extraction queries — on the system CRAWLING tab, create a job with strategy SQL and write one query per resource type you want to import. Each query’s result columns must use the aliases documented for that type.
- Run or schedule the job — the agent executes the queries against the target connection and uploads the results to Blindata. Use TEST to verify row counts before the first full import.
On each run, objects are matched by their natural keys (for example, schema + name for physical entities, scope + name for dataflows). Rows that cannot be reconciled with existing catalog assets are discarded. If Automatic cleanup is enabled, resources not updated within the configured window can be removed (optionally scoped to a specific dataflows scope).
For the UI walkthrough of the crawling tab, see Automated Metadata Crawling .
Query types
Each optional query on a SQL crawling job maps to a class of Blindata resources:
| Extraction query | Blindata resources imported |
|---|---|
| Tables Query | Physical entities (tables, views, reports, files, etc.) |
| Columns Query | Physical fields |
| Physical Constraints Query | Primary keys, foreign keys, unique constraints, indexes |
| Tables / Columns Additional Properties Query | Custom key/value metadata on entities and fields |
| Routines Query | Stored procedures and functions |
| Data Flows Query | Dataflows (system, entity, or field level) |
| Physical entities / fields semantic links query | Links from catalog assets to business glossary concepts and attributes |
Column aliases, mandatory fields, database-specific examples, and reconciliation rules for each query type are documented in Import Metadata with SQL or JDBC .
Related guides
- How to create Dataflows — end-to-end workflow for lineage ingestion
- Linking Catalog Assets to Business Glossary — semantic links in the catalog