Trino connector
The Gravitino Trino connector loads catalog metadata from Gravitino into Trino automatically. Catalogs created in Gravitino appear in Trino without further Trino configuration.
The connector talks to the Gravitino server API, port 8090 by default. To reach Iceberg catalogs
through the Iceberg REST service on port 9001 instead, see Trino via Iceberg REST.
It works through Trino's
dynamic catalog management. When the
connector reads a catalog from the Gravitino server, it generates a CREATE CATALOG statement and
executes it against the running Trino server. Metadata changes reach Trino on the refresh interval,
roughly three to ten seconds by default.
Install the plugin first, as described in Install the connector, then create
etc/catalog/gravitino.properties on the coordinator.
connector.name=gravitino
gravitino.uri=http://{gravitino_host}:8090
gravitino.metalake={metalake_name}
Catalog naming
A Gravitino catalog appears in Trino under its own name, addressed as
{catalog}.{schema}.{table}.
Setting gravitino.use-single-metalake to false enables multi-metalake mode, where catalogs are
addressed as {metalake}.{catalog}.{schema}.{table}. That mode works on connector versions 435-445
and 469-478. On 446-468 the connector logs a warning and starts, but the mode is not fully
supported and some operations fail.
Configuration
| Property | Type | Default | Required | Description |
|---|---|---|---|---|
connector.name | string | (none) | Yes | Always gravitino |
gravitino.metalake | string | (none) | Yes | The metalake to load catalogs from |
gravitino.uri | string | http://localhost:8090 | No | The Gravitino server address |
gravitino.metadata.refresh-interval-seconds | integer | 10 | No | How often to refresh metadata |
gravitino.use-single-metalake | boolean | true | No | False enables multi-metalake mode |
gravitino.trino.skip-catalog-patterns | string | (none) | No | Comma-separated regex patterns for catalogs to exclude, e.g. test_.* |
gravitino.trino.skip-version-validation | boolean | false | No | True allows an unsupported Trino version, without compatibility guarantees |
trino.jdbc.user | string | admin | No | JDBC user for the local Trino server |
trino.jdbc.password | string | (none) | No | JDBC password for the local Trino server |
gravitino.client. | string | (none) | No | Prefix for Gravitino client settings, passed through directly |
The connector does not need the Gravitino server running when Trino starts; it connects when the
server becomes available. An invalid gravitino.client. property raises an exception rather than
being ignored, and the accepted set is under
Java client configuration.
The connector authenticates to the Gravitino server with simple, basic, OAuth, or Kerberos authentication. See Authentication.