Trino
Prerequisites
- The hostname for the Trino database server
- The username/password for the Trino database server
- The name of the database to use within the Trino database server
Setup
Manual
Add the following to a.env file in your Cube project:
Environment Variables
| Environment Variable | Description | Possible Values | Required |
|---|---|---|---|
CUBEJS_DB_HOST | The host URL for a database | A valid database host URL | ✅ |
CUBEJS_DB_PORT | The port for the database connection | A valid port number | ❌ |
CUBEJS_DB_USER | The username used to connect to the database | A valid database username | ✅ |
CUBEJS_DB_PASS | The password used to connect to the database | A valid database password | ✅ |
CUBEJS_DB_PRESTO_CATALOG | The catalog within Presto to connect to | A valid catalog name within a Presto database | ✅ |
CUBEJS_DB_PRESTO_AUTH_TOKEN | The authentication token to use when connecting to Presto/Trino. It will be sent in the Authorization header. | A valid authentication token | ❌ |
CUBEJS_DB_SCHEMA | The schema within the database to connect to | A valid schema name within a Presto database | ✅ |
CUBEJS_DB_SSL | If true, enables SSL encryption for database connections from Cube | true, false | ❌ |
CUBEJS_DB_MAX_POOL | The maximum number of concurrent database connections to pool. Default is 8 | A valid number | ❌ |
CUBEJS_CONCURRENCY | The number of concurrent queries to the data source | A valid number | ❌ |
CUBEJS_DB_EXPORT_BUCKET_TYPE | The export bucket type for pre-aggregations | s3, gcs | ❌ |
CUBEJS_DB_EXPORT_BUCKET | The export bucket to connect to | A valid bucket URL | ❌ |
CUBEJS_DB_EXPORT_BUCKET_AWS_KEY | The AWS Access Key ID to use for export bucket writes | A valid AWS Access Key ID | ❌ |
CUBEJS_DB_EXPORT_BUCKET_AWS_SECRET | The AWS Secret Access Key to use for export bucket writes | A valid AWS Secret Access Key | ❌ |
CUBEJS_DB_EXPORT_BUCKET_AWS_REGION | The AWS region to use for export bucket writes | A valid AWS region | ❌ |
CUBEJS_DB_EXPORT_GCS_CREDENTIALS | A Base64 encoded JSON key file for connecting to Google Cloud Storage | A valid Google Cloud JSON key file, encoded as a Base64 string | ❌ |
Pre-Aggregation Feature Support
count_distinct_approx
Measures of typecount_distinct_approx can
be used in pre-aggregations when using Trino as a source database. To learn more
about Trino support for approximate aggregate functions, click
here.
Pre-Aggregation Build Strategies
To learn more about pre-aggregation build strategies, head
here.
| Feature | Works with read-only mode? | Is default? |
|---|---|---|
| Simple | ✅ | ✅ |
| Export Bucket | ❌ | ❌ |
Simple
No extra configuration is required to configure simple pre-aggregation builds for Trino.Export Bucket
Trino supports using both AWS S3 and Google Cloud Storage for export bucket functionality.AWS S3
Ensure the AWS credentials are correctly configured in IAM to allow reads and
writes to the export bucket in S3.
Google Cloud Storage
When using an export bucket, remember to assign the Storage Object Admin
role to your Google Cloud credentials (
CUBEJS_DB_EXPORT_GCS_CREDENTIALS).SSL
To enable SSL-encrypted connections between Cube and Trino, set theCUBEJS_DB_SSL environment variable to true. For more information on how to
configure custom certificates, please check out Enable SSL Connections to the
Database.