Skip to main content
Version: Preview

Unity Catalog

Experimental
Creates:
AssetsLineage

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Unity Catalog plugin discovers catalogs, tables, views, volumes, functions and registered models from a Unity Catalog server. It reads the open-source Unity Catalog REST API at {host}/api/2.1/unity-catalog, so it works against a self-hosted server and against anything else serving the same API.

Schemas are not assets of their own. Every object is named by its three-part catalog.schema.object name and is linked to its catalog, so the same table name in two schemas stays two assets.

Authentication

token is sent as a bearer token when it is set. A server running without authentication needs no token.

Lineage

  • Each catalog CONTAINS every table, view, volume, function and model under it.
  • A view gets a VIEW_OF edge from each base table its definition reads. One- and two-part references resolve against the view's own catalog and schema.
  • A table with foreign key constraints gets a FOREIGN_KEY edge to each parent table found in the same run. The open-source server does not store constraints, so these come from Databricks-compatible servers only.
  • A table or volume on cloud object storage gets a FEEDS edge from its bucket or container: s3:// from the S3 plugin, gs:// from GCS and abfss:// from Azure Blob Storage. The bucket asset belongs to those plugins; this plugin only emits the edge.

Example Configuration


host: "http://localhost:8080"
token: "dapi-your-token"
catalogs:
- "unity"
- "shop"
exclude_catalogs:
- "system"
- "__databricks_internal"
include_columns: true
include_volumes: true
include_functions: true
include_models: true
tags:
- "unity-catalog"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
catalogs[]stringfalseCatalogs to discover (all when empty)
exclude_catalogs[]stringfalseCatalogs to skip
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
hoststringtrueUnity Catalog server URL, for example http://localhost:8080
include_columnsboolfalseWhether to include column information in table metadata
include_functionsboolfalseWhether to discover functions
include_modelsboolfalseWhether to discover registered models
include_volumesboolfalseWhether to discover volumes
page_sizeintfalseObjects requested per API page
tagsTagsConfigfalseTags to apply to discovered assets
tokenstringfalseBearer token, when the server requires one
verify_sslboolfalseWhether to verify the server's TLS certificate

Available Metadata

The following metadata fields are available:

FieldTypeDescription
catalogstringCatalog the object belongs to
catalog_idstringCatalog id
catalog_namestringCatalog name
column_namestringColumn name
commentstringObject comment
created_atstringCreation time (RFC 3339)
data_source_formatstringData source format (DELTA, PARQUET, CSV, ...)
data_typestringColumn type as written (type_text)
descriptionstringColumn comment
foreign_keys[]objectForeign key constraints (columns, parent_table, parent_columns)
function_idstringFunction id
function_namestringFunction name
is_deterministicboolWhether the function is deterministic
is_nullableboolWhether null values are allowed
is_primary_keyboolWhether the column is part of the primary key
languagestringLanguage the function body is written in (SQL, python, ...)
latest_versionintHighest registered model version number
model_idstringModel id
model_namestringModel name
ownerstringObject owner
parameters[]stringFunction input parameters as "name type", in declaration order
partition_columns[]stringPartition columns in partition order
partition_indexintPosition in the partition key, for partition columns
primary_key[]stringPrimary key columns
propertiesmap[string]stringUser-defined properties
return_typestringFunction return type
routine_bodystringRoutine body kind (SQL, EXTERNAL)
schemastringSchema the object belongs to
schema_countintNumber of schemas in the catalog
sql_data_accessstringSQL data access (CONTAINS_SQL, READS_SQL_DATA, NO_SQL)
storage_locationstringStorage location of the data
table_countintNumber of tables and views in the catalog
table_idstringTable id
table_namestringTable or view name
table_typestringTable type (MANAGED, EXTERNAL, VIEW, MATERIALIZED_VIEW, STREAMING_TABLE, FOREIGN)
type_namestringColumn type name (INT, STRING, DECIMAL, ...)
updated_atstringLast update time (RFC 3339)
version_countintNumber of registered model versions
versionsmap[string]stringModel version number to status (READY, PENDING_REGISTRATION, ...)
volume_idstringVolume id
volume_namestringVolume name
volume_typestringVolume type (MANAGED, EXTERNAL)