Files
genai-toolbox/docs/en/resources/sources/trino.md
Abhinav Misra 7dd123b3d7 feat(trino): Add Trino source and tools (#948)
Add support for Trino distributed SQL query engine with complete
implementation including sources, tools, documentation, and tests.

## Summary

- Add Trino source implementation with multiple authentication methods
- Create trino-execute-sql tool for arbitrary SQL execution
- Create trino-sql tool for parameterized queries
- Add comprehensive documentation ~~and prebuilt configurations~~
- Include unit tests for all components

## Features

### Authentication Support
- Basic authentication (username/password)
- JWT token authentication
- Kerberos authentication
- SSL/TLS connections

### Tools
- **trino-execute-sql**: Execute arbitrary SQL queries
- **trino-sql**: Execute parameterized SQL with prepared statements
- Prebuilt tools for common operations (list catalogs, schemas, tables,
etc.)

### Cross-Catalog Queries
- Support for federated queries across multiple data sources
- Query Hive, PostgreSQL, MySQL, and other connectors in single queries
- Leverage Trino's distributed query engine capabilities

## Test Plan
- [x] Unit tests pass for source DSN generation
- [x] Unit tests pass for tool parameter validation
- [x] Project builds successfully with new dependencies
- [x] Documentation includes comprehensive examples

Ref #880

---------

Co-authored-by: Yuan Teoh <yuanteoh@google.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-22 00:03:04 +00:00

2.8 KiB

title, type, weight, description
title type weight description
Trino docs 1 Trino is a distributed SQL query engine for big data analytics.

About

Trino is a distributed SQL query engine designed for fast analytic queries against data of any size. It allows you to query data where it lives, including Hive, Cassandra, relational databases or even proprietary data stores.

Available Tools

Requirements

Trino Cluster

You need access to a running Trino cluster with appropriate user permissions for the catalogs and schemas you want to query.

Example

sources:
    my-trino-source:
    kind: trino
    host: trino.example.com
    port: "8080"
    user: ${TRINO_USER}  # Optional for anonymous access
    password: ${TRINO_PASSWORD}  # Optional
    catalog: hive
    schema: default

{{< notice tip >}} Use environment variable replacement with the format ${ENV_NAME} instead of hardcoding your secrets into the configuration file. {{< /notice >}}

Reference

field type required description
kind string true Must be "trino".
host string true Trino coordinator hostname (e.g. "trino.example.com")
port string true Trino coordinator port (e.g. "8080", "8443")
user string false Username for authentication (e.g. "analyst"). Optional for anonymous access.
password string false Password for basic authentication
catalog string true Default catalog to use for queries (e.g. "hive")
schema string true Default schema to use for queries (e.g. "default")
queryTimeout string false Query timeout duration (e.g. "30m", "1h")
accessToken string false JWT access token for authentication
kerberosEnabled boolean false Enable Kerberos authentication (default: false)
sslEnabled boolean false Enable SSL/TLS (default: false)