Trino
Core pluginmarmotdata/trino
Discover catalogs, schemas, and tables from Trino clusters
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'sai_genfunction to produce one-sentence descriptions for tables that have no comment. - Auto-classify tables (
ai_classify_tables: true) — Uses the AI connector'sai_classifyfunction to assign a category label (e.g.,analytics,pii,financial) to each table, added as a tag likeai-category:pii.
AI Setup
- Configure an AI connector in your Trino installation (e.g.,
ai.properties) - Set
ai_catalogto the catalog name of that connector - Enable
ai_generate_descriptionsand/orai_classify_tables - Optionally customise
ai_classify_labelsandai_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.
In the UI
Point-and-click, no config file needed.
- 1 Open
Runs→Create Pipeline - 2 Pick Trino 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-trino-pipeline
runs:
- trino:
host: "<host>"
user: "<user>"marmot ingest -c ingest.yaml Not using plugins? Other ways to populate Marmot
Configuration
20 top-level 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 Trino coordinator hostname
port int Trino coordinator port
8080 user string Username for authentication
password password Password (requires HTTPS)
secure bool Use HTTPS
false ssl_cert_path string Path to TLS certificate file
access_token password JWT bearer token
catalog string Specific catalog to discover (all if empty)
exclude_catalogs multiselect Catalogs to skip
["system","jmx"] include_catalogs bool Create catalog-level assets
true include_columns bool Include column info in table metadata
true include_stats bool Collect table statistics (can be slow)
false ai_catalog string Name of the AI connector catalog (empty = disabled)
ai_generate_descriptions bool Auto-generate descriptions for undocumented tables
false ai_classify_tables bool Auto-classify tables into categories
false ai_classify_labels multiselect Custom classification labels
["analytics","operational","pii","financial","logs","reference"] ai_max_enrichments int Max tables to enrich with AI (0 = unlimited)
0 Assets Emitted
Metadata fields this plugin attaches to each discovered asset.
Trino Catalog
TrinoCatalogFieldsTrinoCatalogFields represents Trino catalog metadata fields
catalog_name stringTrino catalog name
Trino Schema
TrinoSchemaFieldsTrinoSchemaFields represents Trino schema metadata fields
catalog stringParent catalog name
schema_name stringSchema name
Trino Table
TrinoTableFieldsTrinoTableFields represents Trino table/view metadata fields
catalog stringParent catalog name
schema stringParent schema name
table_name stringTable or view name
table_type stringBASE TABLE or VIEW
comment stringTable comment
row_count intEstimated row count
Trino Column
TrinoColumnFieldsTrinoColumnFields represents Trino column metadata fields
column_name stringColumn name
data_type stringColumn data type
is_nullable stringYES or NO
ordinal_position intColumn position