Skip to main content

Trino

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 Trino plugin discovers all catalogs (connected data sources like PostgreSQL, Hive, Iceberg, S3, etc.), their schemas, and tables/views.

Required Permissions

The connecting user needs SELECT access to system.metadata.catalogs, system.metadata.table_comments, and each catalog's information_schema. A read-only user with access to these system tables is sufficient.

AI Enrichment

When your Trino instance has AI functions configured, the plugin can automatically enrich discovered assets:

  • Auto-generate descriptions (ai_generate_descriptions: true) — Uses the AI connector's ai_gen function to produce one-sentence descriptions for tables that have no comment.
  • Auto-classify tables (ai_classify_tables: true) — Uses the AI connector's ai_classify function to assign a category label (e.g., analytics, pii, financial) to each table, added as a tag like ai-category:pii.

AI Setup

  1. Configure an AI connector in your Trino installation (e.g., ai.properties)
  2. Set ai_catalog to the catalog name of that connector
  3. Enable ai_generate_descriptions and/or ai_classify_tables
  4. Optionally customise ai_classify_labels and ai_max_enrichments

AI enrichment is best-effort - failures are logged as warnings but do not prevent normal discovery from completing.re logged as warnings but do not prevent normal discovery from completing.

Example Configuration


host: "trino.company.com"
port: 8080
user: "marmot_reader"
secure: false
exclude_catalogs:
- "system"
- "jmx"
tags:
- "trino"
- "production"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
access_tokenstringfalseJWT bearer token
ai_catalogstringfalseName of the AI connector catalog (empty = disabled)
ai_classify_labels[]stringfalseCustom classification labels
ai_classify_tablesboolfalseAuto-classify tables into categories
ai_generate_descriptionsboolfalseAuto-generate descriptions for undocumented tables
ai_max_enrichmentsintfalseMax tables to enrich with AI (0 = unlimited)
catalogstringfalseSpecific catalog to discover (all if empty)
exclude_catalogs[]stringfalseCatalogs to skip
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
hoststringfalseTrino coordinator hostname
include_catalogsboolfalseCreate catalog-level assets
include_columnsboolfalseInclude column info in table metadata
include_statsboolfalseCollect table statistics (can be slow)
passwordstringfalsePassword (requires HTTPS)
portintfalseTrino coordinator port
secureboolfalseUse HTTPS
ssl_cert_pathstringfalsePath to TLS certificate file
tagsTagsConfigfalseTags to apply to discovered assets
userstringfalseUsername for authentication

Available Metadata

The following metadata fields are available:

FieldTypeDescription
catalogstringParent catalog name
catalogstringParent catalog name
catalog_namestringTrino catalog name
column_namestringColumn name
commentstringTable comment
data_typestringColumn data type
is_nullablestringYES or NO
ordinal_positionintColumn position
row_countint64Estimated row count
schemastringParent schema name
schema_namestringSchema name
table_namestringTable or view name
table_typestringBASE TABLE or VIEW