Skip to content

Latest commit

 

History

History
134 lines (99 loc) · 7.54 KB

File metadata and controls

134 lines (99 loc) · 7.54 KB
title Presto
description Connect Cube to PrestoDB using hostname authentication together with catalog and schema selectors for your query engine layout.

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

Feature Works 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.