Superset を ClickHouse に接続する
Apache Superset は、Python で実装されたオープンソースのデータ探索および可視化プラットフォームです。Superset は ClickHouse が提供する Python ドライバーを利用して ClickHouse に接続します。どのように動作するのか見ていきましょう。
目的
このガイドでは、ClickHouse データベースのデータを使って Superset でダッシュボードを作成します。作成するダッシュボードは次のようになります:

まだ扱うデータセットがない場合は、サンプルデータセットのいずれかを追加できます。このガイドでは UK Price Paid データセットを使用するので、それを選ぶとよいでしょう。同じドキュメントカテゴリ内に、他にもいくつかのデータセットがあります。
1. 接続情報を確認する
HTTP(S) で ClickHouse に接続するには、次の情報が必要です。
| Parameter(s) | Description |
|---|---|
HOST and PORT | 通常、TLS を使用する場合のポートは 8443、TLS を使用しない場合のポートは 8123 です。 |
DATABASE NAME | 既定で default という名前のデータベースが用意されています。接続したいデータベースの名前を使用してください。 |
USERNAME and PASSWORD | 既定のユーザー名は default です。用途に応じて適切なユーザー名を使用してください。 |
ClickHouse Cloud サービスに関する詳細情報は、ClickHouse Cloud コンソールで確認できます。 サービスを選択し、Connect をクリックします。

HTTPS を選択します。接続情報は、サンプルの curl コマンド内に表示されます。

セルフマネージドの ClickHouse を使用している場合、接続情報は ClickHouse 管理者によって設定されます。
2. ドライバーをインストールする
-
Superset は ClickHouse へ接続するために
clickhouse-connectドライバーを使用します。clickhouse-connectの詳細は https://pypi.org/project/clickhouse-connect/ に記載されており、次のコマンドでインストールできます。Docker Compose SetupDocker ベースのセットアップの場合は、コンテナに
clickhouse-connectを追加する手順について、Superset database configuration guide を参照してください。 -
Superset を起動(または再起動)します。
3. Superset を ClickHouse に接続する
- Superset で、上部メニューから Data を選択し、ドロップダウンメニューから Databases を選択します。+ Database ボタンをクリックして新しいデータベースを追加します:

- 最初のステップで、データベースの種類として ClickHouse Connect を選択します:

- 2 番目のステップでは、次を行います:
- SSL を有効または無効に設定します。
- 先ほど収集した接続情報を入力します。
- DISPLAY NAME を指定します。これは任意の名前で構いません。複数の ClickHouse データベースに接続する場合は、より説明的な名前にします。

- CONNECT をクリックし、その後 FINISH ボタンをクリックしてセットアップウィザードを完了します。完了すると、データベース一覧に対象のデータベースが表示されます。
4. データセットを追加する
-
Superset で ClickHouse のデータを扱うには、データセット を定義する必要があります。Superset の上部メニューから Data を選択し、ドロップダウンメニューから Datasets を選択します。
-
データセットを追加するボタンをクリックします。新しいデータベースをデータソースとして選択すると、そのデータベース内で定義されているテーブルが表示されます。
- ダイアログウィンドウ下部の ADD ボタンをクリックすると、テーブルがデータセット一覧に表示されます。これでダッシュボードを作成して ClickHouse のデータを分析する準備が整いました。
5. Superset でチャートとダッシュボードを作成する
Superset に慣れている場合は、このセクションもすぐに理解できるはずです。Superset を初めて利用する場合でも、世の中にある他の多くの高機能な可視化ツールと同様に、使い始めるまでに時間はかからず、細かな使い方やコツはツールを使い込む中で徐々に身についていきます。
- まずはダッシュボードから始めます。Superset の上部メニューから Dashboards を選択します。右上のボタンをクリックして新しいダッシュボードを追加します。次のダッシュボードは UK property prices という名前になっています。

- 新しいチャートを作成するには、上部メニューから Charts を選択し、新しいチャートを追加するボタンをクリックします。多くのオプションが表示されます。次の例では、CHOOSE A DATASET ドロップダウンから uk_price_paid データセットを選択し、チャートタイプとして Pie Chart を使用しています。

- Superset の円グラフには Dimension と Metric が必要で、その他の設定は任意です。ディメンションとメトリクスには任意のフィールドを選択できます。この例では、ディメンションに ClickHouse の
districtフィールドを、メトリクスにAVG(price)を使用しています。


- 円グラフよりドーナツチャートの方が好みであれば、CUSTOMIZE セクションでその設定やその他のオプションを変更できます。

- SAVE ボタンをクリックしてチャートを保存し、ADD TO DASHBOARD ドロップダウンから UK property prices を選択します。その後 SAVE & GO TO DASHBOARD をクリックすると、チャートが保存され、ダッシュボードに追加されます。

- 以上です。ClickHouse のデータに基づいて Superset でダッシュボードを構築することで、超高速なデータ分析の世界が広がります。
