Overview
This template provides a production‑ready Trino instance as a Monk runnable. You can:- Run it directly to get a managed distributed SQL query engine
- Inherit it in your own data infrastructure to query data across multiple sources
What this template manages
- Trino coordinator
- Trino workers (optional, for distributed setup)
- Web UI and query interface
- Catalog configuration for data sources
- Query execution engine
- Web UI on port 8080
Quick start (run directly)
- Load templates
- Run Trino with defaults
- Customize configuration (recommended via inheritance)
variables. Secrets added with monk secrets add will not affect this runnable unless you inherit it and reference those secrets.
- Preferred: inherit and replace variables with
secret("...")as shown below. - Alternative: fork/clone and edit the
variablesintrino/trino.yml, thenmonk load MANIFESTand run.
- Web UI:
http://localhost:8080 - Connect with Trino CLI or JDBC:
jdbc:trino://localhost:8080/catalog/schema
Configuration
Key variables you can customize in this template:${monk-volume-path}/trino on the host. Custom catalog configurations are mounted from ${monk-volume-path}/trino/catalog:/etc/trino/catalog.
Use by inheritance (recommended for data platforms)
Inherit the Trino runnable in your data platform and declare connections. Example:Ports and connectivity
- Service:
trinoon TCP port8080 - Web UI:
http://localhost:8080 - JDBC:
jdbc:trino://localhost:8080/catalog/schema - From other runnables in the same process group, use
connection-hostname("\<connection-name>")to resolve the Trino host.
Persistence and configuration
- Data path:
${monk-volume-path}/trino:/etc/trino - Catalog path:
${monk-volume-path}/trino/catalog:/etc/trino/catalog - You can drop additional catalog
.propertiesfiles into the catalog path to configure data source connectors.
Features
- Fast Queries: In-memory distributed execution
- Federated Queries: Query across multiple data sources in one SQL
- Standard SQL: ANSI SQL support
- 40+ Connectors: PostgreSQL, MySQL, S3, Hive, Kafka, Elasticsearch, etc.
- Scalable: Add workers for horizontal scaling
- No ETL: Query data where it lives, no data movement
- BI Tool Integration: Tableau, Looker, Metabase, Superset
Supported Connectors
- RDBMS: PostgreSQL, MySQL, Oracle, SQL Server
- NoSQL: MongoDB, Cassandra, Redis
- Cloud Storage: S3, GCS, Azure Blob
- Data Lakes: Hive, Iceberg, Delta Lake
- Streaming: Kafka, Kinesis
- Search: Elasticsearch, OpenSearch
- And 40+ more…
Catalog Configuration
Example PostgreSQL catalog (/etc/trino/catalog/postgresql.properties):
Querying with Trino
Connect with Trino CLI:Use cases
Trino excels at:- Data lake analytics
- Federated queries across silos
- Interactive analytics on big data
- Ad-hoc SQL queries
- BI and reporting on distributed data
- ETL and data pipeline queries
- Real-time analytics
Related templates
- Data warehouses:
postgresql/,clickhouse/, for connecting to RDBMS - ETL tools:
airflow/,dagster/for data pipeline orchestration - BI platforms: Use Trino as a data source for Tableau, Looker, Metabase, or Superset
Troubleshooting
- Access Web UI: Navigate to
http://localhost:8080to view running queries and statistics - Check catalog connections:
- Check logs:
- Slow queries: Check query plan with
EXPLAINstatement - Connector issues: Verify catalog configuration files in
${monk-volume-path}/trino/catalog - Memory errors: Increase
query-max-memoryorquery-max-memory-per-nodevariables - Resource monitoring: Use Web UI to monitor CPU, memory, and query performance
- Query history: Review failed queries in Web UI for troubleshooting