Prerequisites
- An API key with
catalogAssets:WRITEpermission. See Managing API Keys for how to create and manage API keys.
Configure your OpenLineage producer
Point your OpenLineage-compatible tool at the Validio endpoint. The configuration depends on your producer, but all use the same endpoint URL and authentication.Endpoint
Text
your-validio-instance with the host you sign in to Validio with.
Authentication
Include your API key credentials in theAuthorization header. The credentials are always in the format <accessKeyId>:<secretAccessKey>. Validio supports three header formats:
For producer-specific configuration, consult the OpenLineage integrations documentation and configure the HTTP transport with the Validio endpoint URL and API key authentication shown above.
Event requirements
Validio processes OpenLineage RunEvents only. For Validio to pick up a RunEvent and build lineage from it, the event must include these fields:How datasets map to catalog assets
Every OpenLineage dataset has anamespace and a name. Validio uses these two values to decide which catalog asset the dataset belongs to. Off-the-shelf OpenLineage integrations already follow the OpenLineage naming conventions. If you write your own producer, use the formats below so your datasets map to the correct assets.
Namespace
For data warehouses, Validio reads only the scheme of the namespace, which is the part before://. The host, port, and path are ignored, so you can’t specify the database in the namespace. Validio recognizes the scheme regardless of case.
Namespaces with any other scheme become generic assets. See Other Schemes.
Name
For data warehouses, the dataset name must bedatabase.schema.table. Teradata also accepts database.table. Validio skips datasets whose names have fewer parts and creates no asset or lineage for them.
Matching existing assets
Validio matches a warehouse dataset to a catalog asset by the warehouse type and thedatabase.schema.table name, regardless of case. If a matching table is already in the catalog, the lineage attaches to that asset. If not, Validio creates a new asset, and the next catalog refresh fills in its details.
Other schemes
Datasets with a scheme that isn’t a supported data warehouse become generic assets:- Object storage (
s3,gcs,gs,abfs,abfss,wasb,wasbs,dbfs): the asset is named<namespace>/<name>, for examples3://my-bucket/raw/orders. - Any other scheme: the asset is named
<scheme>://<name>, for examplekafka://orders-topic. The host and path of the namespace are left out of the name.
Columns
Validio matches column names from the schema and column lineage facets to the asset’s existing columns. If Validio doesn’t recognize a column name, it adds it as a new column, so a typo creates an extra column instead of an error. Use the column names exactly as they appear in Catalog, including case, so that column descriptions appear on the correct columns.Example event
The followingCOMPLETE event creates a table-level lineage edge from RAW.SALES.ORDERS to ANALYTICS.SALES.DAILY_ORDERS in Snowflake. It also creates a column-level edge from ORDER_ID to ORDER_ID.
JSON
What Validio processes
When Validio receives an OpenLineage event, it extracts:- Lineage relationships — Input and output datasets from the event are mapped to catalog assets, and lineage edges are created between them.
- Dataset metadata — Descriptions, tags, and other metadata from OpenLineage facets are imported and associated with the corresponding catalog assets.
- Run state — The run identifier and event type (START, RUNNING, COMPLETE, FAIL, ABORT) are used only to collect a run’s datasets until the run finishes. Validio builds lineage when it receives the COMPLETE event, then discards the run state. A run that ends with FAIL or ABORT adds no lineage. Run status and duration are not stored or shown in Validio.