Apache Superset is an open-source data exploration and visualization platform written in Python. Superset connects to ClickHouse using a Python driver provided by ClickHouse. Let’s see how it works…Documentation Index
Fetch the complete documentation index at: https://private-7c7dfe99-page-updates.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Goal
In this guide you will build a dashboard in Superset with data from a ClickHouse database. The dashboard will look like this:
- Gather your connection details
To connect to ClickHouse with HTTP(S) you need this information:
| Parameter(s) | Description |
|---|---|
HOST and PORT | Typically, the port is 8443 when using TLS or 8123 when not using TLS. |
DATABASE NAME | Out of the box, there is a database named default, use the name of the database that you want to connect to. |
USERNAME and PASSWORD | Out of the box, the username is default. Use the username appropriate for your use case. |
curl command.
If you’re using self-managed ClickHouse, the connection details are set by your ClickHouse administrator.
- Install the Driver
-
Superset uses the
clickhouse-connectdriver to connect to ClickHouse. The details ofclickhouse-connectare at https://pypi.org/project/clickhouse-connect/ and it can be installed with the following command:
Docker Compose SetupFor Docker-based installations, see the Superset database configuration guide for instructions on adding
clickhouse-connect to your container.- Start (or restart) Superset.
- Connect Superset to ClickHouse
- Within Superset, select Data from the top menu and then Databases from the drop-down menu. Add a new database by clicking the + Database button:
- In the first step, select ClickHouse Connect as the type of database:
- In the second step:
- Set SSL on or off.
- Enter the connection information that you collected earlier
- Specify the DISPLAY NAME: this can be any name you prefer. If you will be connecting to multiple ClickHouse databases then make the name more descriptive.
- Click the CONNECT and then FINISH buttons to complete the setup wizard, and you should see your database in the list of databases.
- Add a Dataset
- To interact with your ClickHouse data with Superset, you need to define a dataset. From the top menu in Superset, select Data, then Datasets from the drop-down menu.
- Click the button for adding a dataset. Select your new database as the datasource and you should see the tables defined in your database:
- Click the ADD button at the bottom of the dialog window and your table appears in the list of datasets. You’re ready to build a dashboard and analyze your ClickHouse data!
- Creating charts and a dashboard in Superset
If you’re familiar with Superset, then you will feel right at home with this next section. If you’re new to Superset, well…it’s like a lot of the other cool visualization tools out there in the world - it doesn’t take long to get started, but the details and nuances get learned over time as you use the tool.
- You start with a dashboard. From the top menu in Superset, select Dashboards. Click the button in the upper-right to add a new dashboard. The following dashboard is named UK property prices:
- To create a new chart, select Charts from the top menu and click the button to add a new chart. You will be shown a lot of options. The following example shows a Pie Chart chart using the uk_price_paid dataset from the CHOOSE A DATASET drop-down:
- Superset pie charts need a Dimension and a Metric, the rest of the settings are optional. You can pick your own fields for the dimension and metric, this example uses the ClickHouse field
districtas the dimension andAVG(price)as the metric.
- If you prefer doughnut charts over pie, then you can set that and other options under CUSTOMIZE:
- Click the SAVE button to save the chart, then select UK property prices under the ADD TO DASHBOARD drop-down, then SAVE & GO TO DASHBOARD saves the chart and adds it to the dashboard:
- That’s it. Building dashboards in Superset based on data in ClickHouse opens up a whole world of blazing fast data analytics!