Skip to main content

Apache Superset / Preset

Apache Superset is a popular open-source data exploration and visualization platform. Preset is a fully-managed service for Superset. Here’s a short video guide:

Connect from Cube Cloud

It is recommended to use Semantic Layer Sync to connect Cube Cloud to Superset or Preset. It automatically synchronizes the data model with Superset or Preset. Navigate to the Integrations page, click Connect to Cube, and choose Apache Superset or Preset to get detailed instructions.

Connect from Cube Core

You can connect a Cube deployment to Superset or Preset using the SQL API. In Cube Core, the SQL API is disabled by default. Enable it and configure the credentials to connect to Metabase.

Connecting from Superset or Preset

Superset and Preset connect to Cube as to a Postgres database.

Creating a connection

In Superset or Preset, go to Data > Databases, then click + Database to add a new database:
Apache Superset: databases page

Querying data

Your cubes will be exposed as tables, where both your measures and dimensions are columns. Let’s use the following Cube data model:
cubes:
  - name: orders
    sql_table: orders

    measures:
      - name: count
        type: count

    dimensions:
      - name: status
        sql: status
        type: string

      - name: created
        sql: created_at
        type: time
Using the SQL API, orders will be exposed as a table. In Superset, we can create datasets based on tables. Let’s create one from orders table:
Apache Superset: SQL Editor page with successful query
Now, we can explore this dataset. Let’s create a new chart of type line with “Orders” dataset.
Apache Superset: SQL Editor page with successful query
We can select the COUNT(*) as a metric and created_at as the time column with a time grain of month. The COUNT(*) aggregate function is being mapped to a measure of type count in Cube’s Orders data model file.