Metabase を ClickHouse に接続する
Metabase は、データに関する疑問を解消するための、使いやすいオープンソースの UI ツールです。Metabase は Java アプリケーションであり、JAR ファイルをダウンロードして java -jar metabase.jar で実行するだけで起動できます。Metabase は、JDBC ドライバーを使用して ClickHouse に接続します。このドライバーをダウンロードして plugins フォルダに配置します。
目標
このガイドでは、Metabase を使って ClickHouse のデータに対していくつかクエリを実行し、その結果を可視化します。可視化結果の 1 つは次のようになります:

作業に使えるデータセットがない場合は、サンプルデータセットのいずれかを追加できます。このガイドでは 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. Metabase 用の ClickHouse プラグインをダウンロードする
-
pluginsフォルダがない場合は、metabase.jarを保存している場所のサブフォルダとしてpluginsフォルダを作成します。 -
プラグインは
clickhouse.metabase-driver.jarという名前の JAR ファイルです。最新版の JAR ファイルを https://github.com/clickhouse/metabase-clickhouse-driver/releases/latest からダウンロードします。 -
clickhouse.metabase-driver.jarをpluginsフォルダに保存します。 -
Metabase を起動(または再起動)して、ドライバが正しく読み込まれるようにします。
-
http://hostname:3000 で Metabase にアクセスします。初回起動時にはウェルカム画面が表示され、いくつかの質問に順に回答する必要があります。データベースの選択を求められた場合は、「I'll add my data later」を選択します。
3. Metabase を ClickHouse に接続する
-
右上の歯車アイコンをクリックし、Admin Settings を選択して、Metabase 管理ページに移動します。
-
Add a database をクリックします。 または、Databases タブをクリックし、Add database ボタンを選択します。
-
ドライバーのインストールが正しく行われていれば、Database type のドロップダウンメニューに ClickHouse が表示されます。

-
データベースに Display name を付けます。これは Metabase 側の設定なので、任意の名前を使用できます。
-
ClickHouse データベースの接続情報を入力します。ClickHouse サーバーが SSL を使用するように構成されている場合は、安全な接続を有効にします。例:

-
Save ボタンをクリックすると、Metabase がデータベース内のテーブルをスキャンします。
4. SQL クエリを実行する
-
右上隅にある Exit admin ボタンをクリックして、Admin settings を閉じます。
-
右上隅の + New メニューをクリックすると、質問の作成、SQL クエリの実行、ダッシュボードの作成ができることを確認できます。

-
例として、
uk_price_paidというテーブルに対して、1995 年から 2022 年までの年ごとの平均支払価格を返す SQL クエリは次のようになります。
5. 質問を作成する
-
+ New をクリックして、Question を選択します。データベースとテーブルを基点として質問を作成できることに注目してください。たとえば、次の質問は
defaultデータベース内のuk_price_paidというテーブルに対して作成されています。以下は、Greater Manchester 郡内の町ごとの平均価格を計算するシンプルな質問です。
-
Visualize ボタンをクリックして、結果を表形式ビューで表示します。

-
結果の下にある Visualization ボタンをクリックして、可視化を棒グラフ(または他の利用可能なオプション)に変更します。

詳細はこちら
Metabase の詳細やダッシュボードの作成方法については、Metabase ドキュメントをご覧ください。