Documentation
Apache Pinot

Pinot

Apache Pinot (opens in a new tab) is a real-time distributed OLAP datastore purpose-built for low-latency, high-throughput analytics, and perfect for user-facing analytical workloads.

Prerequisites

Setup

Currently, Apache Pinot is not shown in the list of available data sources in the UI. However, you can still configure (opens in a new tab) it using environment variables.

Manual

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

CUBEJS_DB_TYPE=pinot
CUBEJS_DB_HOST=http[s]://pinot.broker.host
CUBEJS_DB_PORT=8099
CUBEJS_DB_USER=pinot_user
CUBEJS_DB_PASS=**********

Environment Variables

Environment VariableDescriptionPossible ValuesRequired
CUBEJS_DB_HOSTThe host URL for your Pinot brokerA valid host URL
CUBEJS_DB_PORTThe port for the database connectionA valid port number
CUBEJS_DB_USERThe username used to connect to the brokerA valid username
CUBEJS_DB_PASSThe password used to connect to the brokerA valid password

Pre-Aggregation Feature Support

count_distinct_approx

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

Pre-aggregation build strategies

To learn more about pre-aggregation build strategies, [head here][ref-caching-using-preaggs-build-strats].

FeatureWorks with read-only mode?Is default?
Simple
Batching--
Export bucket--

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

Simple

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

Batching

Pinot does not support batching.

Export bucket

Pinot does not support export buckets.

SSL

Cube does not require any additional configuration to enable SSL as Pinot connections are made over HTTPS.