Skip to Content

Presto

Prerequisites

  • The hostname for the Presto  database server
  • The username/password for the Presto  database server
  • The name of the database to use within the Presto  database server

Setup

Manual

Add the following to a .env file in your Cube project:

CUBEJS_DB_TYPE=prestodb CUBEJS_DB_HOST=my.presto.host CUBEJS_DB_USER=presto_user CUBEJS_DB_PASS=********** CUBEJS_DB_PRESTO_CATALOG=my_presto_catalog CUBEJS_DB_SCHEMA=my_presto_schema

Environment Variables

Environment VariableDescriptionPossible ValuesRequired
CUBEJS_DB_HOSTThe host URL for a databaseA valid database host URL
CUBEJS_DB_PORTThe port for the database connectionA valid port number
CUBEJS_DB_USERThe username used to connect to the databaseA valid database username
CUBEJS_DB_PASSThe password used to connect to the databaseA valid database password
CUBEJS_DB_PRESTO_CATALOGThe catalog within Presto to connect toA valid catalog name within a Presto database
CUBEJS_DB_PRESTO_AUTH_TOKENThe authentication token to use when connecting to Presto/Trino. It will be sent in the Authorization header.A valid authentication token
CUBEJS_DB_SCHEMAThe schema within the database to connect toA valid schema name within a Presto database
CUBEJS_DB_SSLIf true, enables SSL encryption for database connections from Cubetrue, false
CUBEJS_DB_MAX_POOLThe maximum number of concurrent database connections to pool. Default is 8A valid number
CUBEJS_CONCURRENCYThe number of concurrent queries to the data sourceA valid number
CUBEJS_DB_EXPORT_BUCKET_TYPEThe export bucket type for pre-aggregationss3, gcs
CUBEJS_DB_EXPORT_BUCKETThe export bucket to connect toA valid bucket URL
CUBEJS_DB_EXPORT_BUCKET_AWS_KEYThe AWS Access Key ID to use for export bucket writesA valid AWS Access Key ID
CUBEJS_DB_EXPORT_BUCKET_AWS_SECRETThe AWS Secret Access Key to use for export bucket writesA valid AWS Secret Access Key
CUBEJS_DB_EXPORT_BUCKET_AWS_REGIONThe AWS region to use for export bucket writesA valid AWS region
CUBEJS_DB_EXPORT_GCS_CREDENTIALSA Base64 encoded JSON key file for connecting to Google Cloud StorageA valid Google Cloud JSON key file, encoded as a Base64 string

Pre-Aggregation Feature Support

count_distinct_approx

Measures of type count_distinct_approx can be used in pre-aggregations when using Presto as a source database. To learn more about Presto support for approximate aggregate functions, click here .

Pre-Aggregation Build Strategies

To learn more about pre-aggregation build strategies, head here.

FeatureWorks with read-only mode?Is default?
Simple
Export Bucket

By default, Presto uses a simple strategy to build pre-aggregations.

Simple

No extra configuration is required to configure simple pre-aggregation builds for Presto.

Export Bucket

Presto 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.

CUBEJS_DB_EXPORT_BUCKET_TYPE=s3 CUBEJS_DB_EXPORT_BUCKET=my.bucket.on.s3 CUBEJS_DB_EXPORT_BUCKET_AWS_KEY=<AWS_KEY> CUBEJS_DB_EXPORT_BUCKET_AWS_SECRET=<AWS_SECRET> CUBEJS_DB_EXPORT_BUCKET_AWS_REGION=<AWS_REGION>

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).

CUBEJS_DB_EXPORT_BUCKET=gs://presto-export-bucket CUBEJS_DB_EXPORT_BUCKET_TYPE=gcs CUBEJS_DB_EXPORT_GCS_CREDENTIALS=<BASE64_ENCODED_SERVICE_CREDENTIALS_JSON>

SSL

To enable SSL-encrypted connections between Cube and Presto, set the CUBEJS_DB_SSL environment variable to true. For more information on how to configure custom certificates, please check out Enable SSL Connections to the Database.

Was this page useful?