Trino and Apache Iceberg: OLake Go setup
The Trino Iceberg connector reads ten catalog types. It can query OLake Go tables wherever they are registered.
Short answer. To query a replicated database in Trino, run OLake Go with a catalog the Trino Iceberg connector reads, such as AWS Glue, Polaris or Lakekeeper. Point a Trino Iceberg catalog at it. Trino reads v2 positional and equality deletes, and deletion vectors as an experimental feature from Trino 480.
Key takeaways
- The Trino Iceberg connector reads ten catalog types, so it queries OLake Go tables wherever they are registered.
- Trino reads v2 positional and equality deletes, and deletion vectors as an experimental feature from Trino 480.
- Trino read the same Polaris tables in the ClickHouse, DuckDB and Apache Iceberg guides.
Last reviewed October 2026.
How OLake Go gets data into Trino
OLake Go uses change data capture (CDC) where the source has it and commits Iceberg tables to the catalog. Trino reads Polaris and Lakekeeper over REST (representational state transfer). It reads Glue natively.
No guide ends in Trino yet. Trino queried the same Polaris tables in the ClickHouse, DuckDB and Apache Iceberg guides listed below. The Lakekeeper and Trino post is a longer walkthrough.
When to use it
- You run Trino as a shared SQL layer over several catalogs.
- The tables should stay readable by Spark, DuckDB or ClickHouse too.
When not to use it
- You need deletion vectors in production. The Trino docs label them experimental.
- You use a JDBC catalog under a different catalog name. Trino must use the same catalog name as OLake Go.
Catalogs Trino reads
| Catalog | Trino reads | How |
|---|---|---|
| AWS Glue | Yes | iceberg.catalog.type=glue |
| Apache Polaris | Yes | REST catalog with OAuth2 |
| Lakekeeper | Yes | REST catalog with OAuth2 |
| Snowflake Horizon | Yes | REST catalog |
| Unity Catalog | Yes | REST catalog |
| BigLake (Google Cloud Lakehouse) | Yes | REST catalog with Google auth |
| Amazon S3 Tables | Yes | REST catalog with SigV4 |
| Nessie | Yes | Nessie catalog |
| Hive Metastore | Yes | Hive Metastore |
| JDBC | Yes | JDBC catalog (same catalog name as OLake Go) |
Delete formats Trino reads
| Equality deletes (v2) | Positional deletes (v2) | Deletion vectors (v3) |
|---|---|---|
| Yes | Yes | Partial |
Trino reads v2 position and equality deletes. Deletion vectors arrived in Trino 480 and are still labelled experimental in the docs. Set Trino as a target query engine on the OLake Go job and OLake Go picks a format it reads; with Trino as the only reader that is positional deletes (v2).
Sources: Trino: Iceberg connector (checked 2026-10-12); Trino release 480 (checked 2026-10-12).
Tested guides for Trino
No guide ends in Trino yet.
Guides where Trino reads the same tables
These pages show Trino reading the same tables through the same catalog, in their cross-engine section. No second copy of the data is made.
- Postgres to ClickHouse
- MySQL to ClickHouse
- MongoDB to ClickHouse
- SQL Server to ClickHouse
- DB2 to ClickHouse
- MySQL to DuckDB
- Postgres to DuckDB
- Postgres to Apache Iceberg
- MySQL to Apache Iceberg
- MongoDB to Apache Iceberg
- Oracle to Apache Iceberg
- SQL Server to Apache Iceberg
- Kafka to Apache Iceberg
- Kafka to ClickHouse
Frequently asked questions
Which Trino version reads Iceberg deletion vectors?
Trino 480 and later. The Trino docs still label the feature experimental.
Is there a tested guide with Trino?
Yes. Trino read the same Polaris tables on the ClickHouse and DuckDB guides listed below.
Does Starburst behave the same?
Starburst follows Trino. See the Starburst page.