メインコンテンツへスキップ
メインコンテンツへスキップ

Superset を ClickHouse に接続する

ClickHouse Supported

Apache Superset は、Python で実装されたオープンソースのデータ探索および可視化プラットフォームです。Superset は ClickHouse が提供する Python ドライバーを利用して ClickHouse に接続します。どのように動作するのか見ていきましょう。

目的

このガイドでは、ClickHouse データベースのデータを使って Superset でダッシュボードを作成します。作成するダッシュボードは次のようになります:

複数の円グラフやテーブルなどの可視化を含む、英国の不動産価格を表示する 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 をクリックします。

ClickHouse Cloud サービスの Connect ボタン

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

ClickHouse Cloud HTTPS 接続詳細

セルフマネージドの ClickHouse を使用している場合、接続情報は ClickHouse 管理者によって設定されます。

2. ドライバーをインストールする

  1. Superset は ClickHouse へ接続するために clickhouse-connect ドライバーを使用します。clickhouse-connect の詳細は https://pypi.org/project/clickhouse-connect/ に記載されており、次のコマンドでインストールできます。

    pip install clickhouse-connect
    
    Docker Compose Setup

    Docker ベースのセットアップの場合は、コンテナに clickhouse-connect を追加する手順について、Superset database configuration guide を参照してください。

  2. Superset を起動(または再起動)します。

3. Superset を ClickHouse に接続する

  1. Superset で、上部メニューから Data を選択し、ドロップダウンメニューから Databases を選択します。+ Database ボタンをクリックして新しいデータベースを追加します:
Superset のインターフェイスで、Database メニューと強調表示された + Database ボタンが表示されている画面

  1. 最初のステップで、データベースの種類として ClickHouse Connect を選択します:
ClickHouse Connect オプションが選択されている Superset のデータベース接続ウィザード

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

  1. CONNECT をクリックし、その後 FINISH ボタンをクリックしてセットアップウィザードを完了します。完了すると、データベース一覧に対象のデータベースが表示されます。

4. データセットを追加する

  1. Superset で ClickHouse のデータを扱うには、データセット を定義する必要があります。Superset の上部メニューから Data を選択し、ドロップダウンメニューから Datasets を選択します。

  2. データセットを追加するボタンをクリックします。新しいデータベースをデータソースとして選択すると、そのデータベース内で定義されているテーブルが表示されます。

ClickHouse データベースから利用可能なテーブルを表示している Superset のデータセット作成ダイアログ

  1. ダイアログウィンドウ下部の ADD ボタンをクリックすると、テーブルがデータセット一覧に表示されます。これでダッシュボードを作成して ClickHouse のデータを分析する準備が整いました。

5. Superset でチャートとダッシュボードを作成する

Superset に慣れている場合は、このセクションもすぐに理解できるはずです。Superset を初めて利用する場合でも、世の中にある他の多くの高機能な可視化ツールと同様に、使い始めるまでに時間はかからず、細かな使い方やコツはツールを使い込む中で徐々に身についていきます。

  1. まずはダッシュボードから始めます。Superset の上部メニューから Dashboards を選択します。右上のボタンをクリックして新しいダッシュボードを追加します。次のダッシュボードは UK property prices という名前になっています。
UK property prices という名前の空の Superset ダッシュボード。チャートを追加できる状態

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

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

  1. 円グラフよりドーナツチャートの方が好みであれば、CUSTOMIZE セクションでその設定やその他のオプションを変更できます。
ドーナツチャートのオプ�ションやその他の円グラフ設定が表示された Customize パネル

  1. SAVE ボタンをクリックしてチャートを保存し、ADD TO DASHBOARD ドロップダウンから UK property prices を選択します。その後 SAVE & GO TO DASHBOARD をクリックすると、チャートが保存され、ダッシュボードに追加されます。
ダッシュボード選択ドロップダウンと Save & Go to Dashboard ボタンが表示されたチャート保存ダイアログ

  1. 以上です。ClickHouse のデータに基づいて Superset でダッシュボードを構築することで、超高速なデータ分析の世界が広がります。
ClickHouse の UK property price データに対する複数の可視化を含む完成した Superset ダッシュボード