Skip to main content

How engines connect

An engine reaches Datastrato Enterprise in one of three ways, and each way is a different endpoint on a different port. Pick the path first; the engine's page under that path has the setup.

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
DorisDoris
StarRocksStarRocks
PyIcebergPyIceberg
RayRayLance integration

Choosing between a connector and 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.