Unity Catalog
Official · maintained by Marmotmarmotdata/unitycatalog Discover catalogs, tables, views, volumes, functions and models from Unity Catalog servers
The Unity Catalog plugin discovers catalogs, tables, views, volumes, functions and registered models from a Unity Catalog server.
It talks to 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 that serves the same API. Schemas are not assets of their own: every object is named by its three-part catalog.schema.object name and hangs off its catalog.
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, resolved against the view's own catalog and schema.
- A table with foreign key constraints gets a FOREIGN_KEY edge to each parent table discovered in the same run. The open-source server does not store constraints, so these come from Databricks-compatible servers only.
- A table or volume stored on cloud object storage gets a FEEDS edge from its bucket or container:
s3://from the S3 plugin,gs://from GCS,abfss://from Azure Blob. The bucket asset itself belongs to those plugins; this plugin only emits the edge.
In the UI
Point-and-click, no config file needed.
- 1 Open Runs Create pipeline
- 2 Pick Unity Catalog from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-unitycatalog-pipeline
runs:
- unitycatalog:
host: "<host>"$ marmot ingest -c ingest.yamlNot using plugins? Other ways to populate Marmot
Configuration
13 top-level fields. * marks required fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
host string Unity Catalog server URL, for example http://localhost:8080
token password Bearer token, when the server requires one
catalogs multiselect Catalogs to discover (all when empty)
exclude_catalogs multiselect Catalogs to skip
- default
- ["system","__databricks_internal"]
include_columns bool Whether to include column information in table metadata
- default
- true
include_volumes bool Whether to discover volumes
- default
- true
include_functions bool Whether to discover functions
- default
- true
include_models bool Whether to discover registered models
- default
- true
verify_ssl bool Whether to verify the server's TLS certificate
- default
- true
page_size int Objects requested per API page
- default
- 100
Assets emitted
Metadata this plugin attaches to each discovered asset.
Catalog
UnityCatalogCatalogFieldsThe metadata fields emitted for catalog assets.
catalog_name stringCatalog name
catalog_id stringCatalog id
comment stringCatalog comment
owner stringCatalog owner
properties objectUser-defined properties
schema_count intNumber of schemas in the catalog
table_count intNumber of tables and views in the catalog
created_at stringCreation time (RFC 3339)
updated_at stringLast update time (RFC 3339)
Table
UnityCatalogTableFieldsThe metadata fields emitted for table and view assets.
catalog stringCatalog the table belongs to
schema stringSchema the table belongs to
table_name stringTable or view name
table_type stringTable type (MANAGED, EXTERNAL, VIEW, MATERIALIZED_VIEW, STREAMING_TABLE, FOREIGN)
data_source_format stringData source format (DELTA, PARQUET, CSV, ...)
storage_location stringStorage location of the table data
owner stringTable owner
comment stringTable comment
properties objectUser-defined properties
table_id stringTable id
partition_columns string[]Partition columns in partition order
primary_key string[]Primary key columns
foreign_keys object[]Foreign key constraints (columns, parent_table, parent_columns)
created_at stringCreation time (RFC 3339)
updated_at stringLast update time (RFC 3339)
Column
UnityCatalogColumnFieldsThe per-column fields embedded in an asset's schema.
column_name stringColumn name
data_type stringColumn type as written (type_text)
type_name stringColumn type name (INT, STRING, DECIMAL, ...)
is_nullable boolWhether null values are allowed
is_primary_key boolWhether the column is part of the primary key
partition_index intPosition in the partition key, for partition columns
description stringColumn comment
Volume
UnityCatalogVolumeFieldsThe metadata fields emitted for volume assets.
catalog stringCatalog the volume belongs to
schema stringSchema the volume belongs to
volume_name stringVolume name
volume_type stringVolume type (MANAGED, EXTERNAL)
storage_location stringStorage location of the volume
comment stringVolume comment
owner stringVolume owner
volume_id stringVolume id
created_at stringCreation time (RFC 3339)
updated_at stringLast update time (RFC 3339)
Function
UnityCatalogFunctionFieldsThe metadata fields emitted for function assets.
catalog stringCatalog the function belongs to
schema stringSchema the function belongs to
function_name stringFunction name
parameters string[]Input parameters as "name type", in declaration order
return_type stringReturn type
routine_body stringRoutine body kind (SQL, EXTERNAL)
language stringLanguage the body is written in (SQL, python, ...)
is_deterministic boolWhether the function is deterministic
sql_data_access stringSQL data access (CONTAINS_SQL, READS_SQL_DATA, NO_SQL)
comment stringFunction comment
owner stringFunction owner
function_id stringFunction id
created_at stringCreation time (RFC 3339)
updated_at stringLast update time (RFC 3339)
Model
UnityCatalogModelFieldsThe metadata fields emitted for registered model assets.
catalog stringCatalog the model belongs to
schema stringSchema the model belongs to
model_name stringModel name
comment stringModel comment
owner stringModel owner
storage_location stringStorage location of the model artifacts
model_id stringModel id
version_count intNumber of registered versions
latest_version intHighest registered version number
versions objectVersion number to status (READY, PENDING_REGISTRATION, ...)
created_at stringCreation time (RFC 3339)
updated_at stringLast update time (RFC 3339)