Skip to content

UnityCatalogServer — Unity Catalog's Localhost Reference Server

UnityCatalogServer is Unity Catalog's Localhost Reference Server.

UnityCatalogServer can be started on command line to handle REST API requests at the port.

./bin/start-uc-server [-p|--port port]

UnityCatalogServer starts Armeria documentation service at http://localhost:8081/docs and the other Unity Catalog API services.

Port

UnityCatalogServer takes a port number when created.

Unless specified on command-line using -p,--port <arg> option, UnityCatalogServer defaults to 8080 or the closest one available.

Creating Instance

UnityCatalogServer takes the following to be created:

While being created, UnityCatalogServer builds the Server:

  1. Handle HTTP requests at the given port
  2. Bind the Armeria documentation service (Armeria) under /docs URL
  3. Register the API services

UnityCatalogServer is created when:

  • UnityCatalogServer command-line utility is started

Server

UnityCatalogServer creates a Server (Armeria) when created.

Register API Services

void addServices(
  ServerBuilder sb)

addServices creates and registers Unity Catalog API services at the /api/2.1/unity-catalog/ base path.

URL Service
/ Returns Hello, Unity Catalog! message
/api/2.1/unity-catalog/ TableService
/api/2.1/unity-catalog/catalogs CatalogService
/api/2.1/unity-catalog/functions FunctionService
/api/2.1/unity-catalog/iceberg IcebergRestCatalogService
/api/2.1/unity-catalog/schemas SchemaService
/api/2.1/unity-catalog/temporary-table-credentials TemporaryTableCredentialsService
/api/2.1/unity-catalog/temporary-volume-credentials TemporaryVolumeCredentialsService
/api/2.1/unity-catalog/volumes VolumeService

Launch UnityCatalogServer

void main(
  String[] args)

main starts probing for the available port from 8081 or the first argument specified on command line.

main creates a UnityCatalogServer.

main requests the UnityCatalogServer to print out the welcome ASCII art message.

main requests the UnityCatalogServer to start.

main...FIXME