Skip to main content

How engines connect

The engine connectors (Trino, Spark, Flink and Daft) are for the Gravitino REST interface only. An engine that reads Iceberg tables through the Iceberg REST catalog needs no connector at all: it uses its own Iceberg REST client, set up as described on the Engines pages under Iceberg catalogs.

You wantUseInstall into the engine
Every catalog type in the metalake (Hive, JDBC, Paimon, Iceberg)An engine connector, through the Gravitino REST interfaceThe connector
Iceberg tables onlyThe engine's built-in Iceberg REST client, through the Iceberg REST catalogNothing

Lance tables are a third path, through the Lance REST service. Each path is a different endpoint, so pick the path first; the engine's page under that path has the setup.

Engines with the Gravitino connector call the server API on port 8090, Iceberg REST clients call port 9001, and Lance clients call port 9101 for metadata, while each reads data directly from the source systems or object storage; AI agents reach the server API through the MCP server

PathEndpointDefault portWhat the engine seesEngine side
Gravitino connectorGravitino server API8090Every catalog type in the metalake: Iceberg, Hive, Paimon, JDBC and the restA Gravitino plugin installed into the engine
Iceberg REST clientIceberg REST service9001Iceberg catalogs onlyThe engine's own Iceberg REST catalog support; nothing to install
Lance REST clientLance REST service9101Lance tablesThe engine's Lance REST namespace support

Gravitino authorizes requests on all three paths. On an install made with the Helm chart, the Iceberg REST and Lance REST services are usually published on their own ingress hostnames, set by the chart values ingress.iceberg and ingress.lance, rather than on the raw ports.

Engines by path​

EngineGravitino connector (8090)Iceberg REST (9001)Lance REST (9101)
TrinoTrino connectorTrino
SparkSpark connectorSparkLance integration
FlinkFlink connectorFlink
DaftDaft connector
SnowflakeSnowflake
DuckDBDuckDB
DorisDoris
StarRocksStarRocks
PyIcebergPyIceberg
RayRayLance integration

Connector or Iceberg REST​

Trino, Spark and Flink can use either path.

  • Use the Gravitino connector when the engine needs catalogs that are not Iceberg, such as Hive, Paimon or JDBC sources, or when it should pick up catalogs created in Gravitino without per-catalog engine configuration.
  • Use Iceberg REST when every catalog the engine reads is Iceberg, when you cannot install a plugin into the engine, or when you want per-table storage credentials vended with each table load.

The connector install for Kubernetes is covered in Install engine connectors. The services themselves are covered in Iceberg REST catalog service and Lance REST service.

AI agents connect through the MCP server, which calls the Gravitino server API.