Перейти к основному содержимому
Перейти к основному содержимому

Connect Superset to ClickHouse

ClickHouse Supported

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

Goal

In this guide you will build a dashboard in Superset with data from a ClickHouse database. The dashboard will look like this:

Superset dashboard showing UK property prices with multiple visualizations including pie charts and tables

Add some data

If you do not have a dataset to work with you can add one of the examples. This guide uses the UK Price Paid dataset, so you might choose that one. There are several others to look at in the same documentation category.

1. Gather your connection details

To connect to ClickHouse with HTTP(S) you need this information:

Parameter(s)Description
HOST and PORTTypically, the port is 8443 when using TLS or 8123 when not using TLS.
DATABASE NAMEOut of the box, there is a database named default, use the name of the database that you want to connect to.
USERNAME and PASSWORDOut of the box, the username is default. Use the username appropriate for your use case.

The details for your ClickHouse Cloud service are available in the ClickHouse Cloud console. Select a service and click Connect:

ClickHouse Cloud service connect button

Choose HTTPS. Connection details are displayed in an example curl command.

ClickHouse Cloud HTTPS connection details

If you are using self-managed ClickHouse, the connection details are set by your ClickHouse administrator.

2. Install the Driver

  1. Superset uses the clickhouse-connect driver to connect to ClickHouse. The details of clickhouse-connect are at https://pypi.org/project/clickhouse-connect/ and it can be installed with the following command:

    pip install clickhouse-connect
    
  2. Start (or restart) Superset.

3. Connect Superset to ClickHouse

  1. 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:
Superset interface showing the Database menu with + Database button highlighted

  1. In the first step, select ClickHouse Connect as the type of database:
Superset database connection wizard showing ClickHouse Connect option selected

  1. 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.
Superset connection configuration form showing ClickHouse connection parameters

  1. Click the CONNECT and then FINISH buttons to complete the setup wizard, and you should see your database in the list of databases.

4. Add a Dataset

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

  2. Click the button for adding a dataset. Select your new database as the datasource and you should see the tables defined in your database:

Superset dataset creation dialog showing available tables from ClickHouse database

  1. Click the ADD button at the bottom of the dialog window and your table appears in the list of datasets. You are ready to build a dashboard and analyze your ClickHouse data!

5. Creating charts and a dashboard in Superset

If you are familiar with Superset, then you will feel right at home with this next section. If you are 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.

  1. 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:
Empty Superset dashboard named UK property prices ready for charts to be added

  1. 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 chart creation interface with Pie Chart visualization type selected

  1. 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 district as the dimension and AVG(price) as the metric.
Dimension configuration showing district field selected for pie chart
Metric configuration showing AVG(price) aggregate function for pie chart

  1. If you prefer doughnut charts over pie, then you can set that and other options under CUSTOMIZE:
Customize panel showing doughnut chart option and other pie chart configuration settings

  1. 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:
Save chart dialog with dashboard selection dropdown and Save & Go to Dashboard button

  1. That's it. Building dashboards in Superset based on data in ClickHouse opens up a whole world of blazing fast data analytics!
Completed Superset dashboard with multiple visualizations of UK property price data from ClickHouse