Stackable Operator for Trino

This is an operator for Kubernetes that can manage Trino clusters. Trino is an open-source distributed SQL query engine that enables high-speed analytics of large datasets from multiple data sources using SQL queries. This operator enables you to manage your Trino instances on Kubernetes efficiently.

Getting started

Follow the Getting started guide to start using the Stackable operator for Trino on your Kubernetes cluster. It guides you through the installation process and help you run your first Trino queries on Kubernetes.

Operator model

The operator manages Kubernetes resources in sync with custom resources defined by you, the user.

Custom resources

The Trino operator manages two custom resources: The TrinoCluster and TrinoCatalogs. The TrinoCluster resource allows for the specification of a Trino cluster. Two roles are defined: coordinators and workers.

To connect to data sources the TrinoCatalogs are used. Have a look at the catalog overview to find out which types of data sources are supported by the Stackable platform.

Resources

To run the cluster on Kubernetes the operator creates Kubernetes resources such as ConfigMaps, StatefulSets and Services.

A diagram depicting the Kubernetes resources created by the operator

Demos

The trino-taxi-data demo uses Trino together with Apache Hive to access the prominent New York Taxi dataset. Apache Superset is then used to read the data from the Trino instance via SQL and visualize it.

The data-lakehouse-iceberg-trino-spark demo showcases a data Lakehouse with multiple datasets. Again Trino is used to enable SQL access to the data. The trino-iceberg demo is a subset of the Lakehouse demo, focusing just on Apache Iceberg integration.

The spark-k8s-anomaly-detection-taxi-data also uses Trino to enable SQL access to data but also shows OpenPolicyAgent integration for authorization.

Supported versions

The Stackable operator for Trino currently supports the Trino versions listed below. To use a specific Trino version in your TrinoCluster, you have to specify an image - this is explained in the Product image selection documentation. The operator also supports running images from a custom registry or running entirely customized images; both of these cases are explained under Product image selection as well.

  • 455

  • 451 (LTS)