Starburst Platform
Starburst Galaxy is a managed Trino service providing serverless distributed SQL query execution. BenchBox provides first-class Starburst support, inheriting Trino’s SQL dialect and federated query capabilities.
Features
- Managed Trino - No cluster management required
- Trino dialect - Inherits SQL dialect from Trino
- Federated queries - Query data across multiple sources
- Built-in catalogs - Pre-configured data connectors
- HTTPS secure - Always encrypted connections
- Multiple table formats - Iceberg, Hive, Delta Lake support
Quick Start
The commands install the Trino driver, set credentials, and run a benchmark.
uv add trino
export STARBURST_HOST=my-cluster.trino.galaxy.starburst.ioexport STARBURST_USER=joe@example.com/accountadminexport STARBURST_PASSWORD=your-password
benchbox run --platform starburst --benchmark tpch --scale 1.0Authentication
Starburst Galaxy uses a unique username format that combines your email with a role:
username = email/role# Example: joe@example.com/accountadminConfiguration Methods
Environment Variables (recommended): the first three variables are the credentials. Optionally, configure the role
separately: set STARBURST_USER without the role suffix and set STARBURST_ROLE, which is appended automatically. In
that case the second STARBURST_USER line replaces the first. STARBURST_CATALOG optionally sets the default
catalog.
export STARBURST_HOST=my-cluster.trino.galaxy.starburst.ioexport STARBURST_USER=joe@example.com/accountadminexport STARBURST_PASSWORD=your-password
export STARBURST_USER=joe@example.comexport STARBURST_ROLE=accountadmin
export STARBURST_CATALOG=tpch_sf1
benchbox run --platform starburst --benchmark tpch --scale 1.0Credentials file: the CLI also reads these settings from the starburst section of ~/.benchbox/credentials.yaml. Values written as ${VAR} are read from the environment. Environment variables apply only to settings the file leaves unset.
starburst: host: my-cluster.trino.galaxy.starburst.io username: joe@example.com/accountadmin password: ${STARBURST_PASSWORD} catalog: tpch_sf1Starburst has no --platform-option settings for connection details, catalog, schema, or table format.
Configuration Options
Set each option in the credentials file, or through its environment variable where one exists.
| Option | Environment Variable | Required | Default | Description |
|---|---|---|---|---|
host | STARBURST_HOST | Yes | - | Galaxy cluster hostname |
username | STARBURST_USER / STARBURST_USERNAME | Yes | - | User email or email/role |
password | STARBURST_PASSWORD | Yes | - | Password or API key |
role | STARBURST_ROLE | No | - | Role (appended to username if not included) |
catalog | STARBURST_CATALOG | No | - | Default catalog |
port | STARBURST_PORT | No | 443 | HTTPS port |
schema | - | No | from benchmark and scale | Schema for benchmark tables |
table_format | - | No | memory | Table format: memory, hive, iceberg, delta |
verify_ssl | - | No | true | SSL certificate verification |
Usage Examples
Basic Benchmark
The commands run TPC-H at scale factor 1 and TPC-DS at scale factor 10.
benchbox run --platform starburst --benchmark tpch --scale 1.0
benchbox run --platform starburst --benchmark tpcds --scale 10.0With Specific Catalog
export STARBURST_CATALOG=my_catalog
benchbox run --platform starburst --benchmark tpch --scale 1.0To set the schema as well, add schema: benchmark_data to the starburst section of the credentials file.
With Table Format
Tables use the memory format unless the credentials file sets table_format. For Iceberg tables:
starburst: table_format: icebergUse delta for Delta Lake tables.
Python API
from benchbox import TPCHfrom benchbox.platforms.starburst import StarburstAdapter
adapter = StarburstAdapter( host="my-cluster.trino.galaxy.starburst.io", username="joe@example.com/accountadmin", password="your-password", catalog="tpch_catalog", schema="benchmark_data", table_format="iceberg",)
benchmark = TPCH(scale_factor=1.0)benchmark.generate_data()adapter.load_benchmark(benchmark)results = adapter.run_benchmark(benchmark)Architecture
Starburst inherits from Trino, which means:
- SQL Dialect: Uses Trino’s SQL dialect for query translation
- Connector Syntax: Same catalog.schema.table naming convention
- Session Properties: Trino session properties are supported
get_platform_family returns "trino", and get_inherited_platform also returns "trino".
from benchbox.core.platform_registry import PlatformRegistry
family = PlatformRegistry.get_platform_family("starburst")
parent = PlatformRegistry.get_inherited_platform("starburst")Table Formats
Starburst Galaxy supports multiple table formats:
| Format | Description | Use Case |
|---|---|---|
memory | In-memory tables | Fast testing, small data |
hive | Hive format | Compatibility with Hive ecosystem |
iceberg | Apache Iceberg | Production analytics, ACID transactions |
delta | Delta Lake | Databricks ecosystem integration |
Iceberg is recommended for analytics. Set table_format: iceberg in the starburst section of the credentials file.
Comparison: Starburst vs Trino
| Feature | Starburst Galaxy | Self-Hosted Trino |
|---|---|---|
| Deployment | Cloud managed | Self-hosted cluster |
| Authentication | Password/API key | Configurable |
| SSL | Always HTTPS | Configurable |
| Scaling | Automatic | Manual |
| Catalogs | Pre-configured | Manual setup |
| Cost | Pay-per-use | Infrastructure cost |
| Best For | Quick start, production | Full control, customization |
When to Use Starburst
Use Starburst when:
- You need managed Trino without cluster management
- Running federated queries across multiple data sources
- Using Iceberg/Delta Lake table formats
- You want built-in catalog management
Use self-hosted Trino instead when:
- You need full control over cluster configuration
- Cost optimization is critical
- You have existing Trino infrastructure
- You need specific Trino plugins/connectors
Troubleshooting
Authentication Failed (401)
Starburst Galaxy authentication failed.Solutions:
- Verify username format:
email/role(e.g.,joe@example.com/accountadmin) - Check password is correct
- Verify credentials at galaxy.starburst.io
Connection Refused
Cannot connect to Starburst Galaxy at {host}:{port}Solutions:
- Verify host is correct:
{cluster-name}.trino.galaxy.starburst.io - Check network connectivity
- Verify no firewall blocking port 443
SSL Certificate Error
SSL certificate error connecting to Starburst Galaxy.Solutions:
- Check network proxy settings
- Verify SSL certificate chain
- Set
verify_ssl: falsein thestarburstsection of~/.benchbox/credentials.yaml(not recommended for production)
Catalog Not Found
Catalog 'my_catalog' does not existSolutions:
- Create the catalog in Starburst Galaxy console
- Use an existing catalog: check available catalogs in the console
- Leave the catalog unset to use the default
Related Documentation
- Trino Platform - Self-hosted Trino benchmarking
- Deployment Modes Guide - Platform deployment architecture
- Platform Selection Guide - Choose the right platform
- Getting Started - Quick start guide