Metabase を ClickHouse に接続する
Metabase は、データに関するクエリや分析を行うための、使いやすいオープンソースの UI ツールです。Metabase は Java 製のアプリケーションで、JAR ファイルをダウンロードし、java -jar metabase.jar で実行するだけで動かせます。Metabase は、JDBC ドライバーをダウンロードして plugins フォルダーに配置することで ClickHouse に接続できます。
目的
このガイドでは、Metabase を使って ClickHouse のデータにいくつか質問を投げかけ、その回答を可視化します。回答のひとつは次のようになります。

まだ操作できるデータセットがない場合は、サンプルデータセットのいずれかを追加してください。このガイドでは 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という名前のテーブルに対して実行した SQL クエリを示します。このクエリは、1995 年から 2022 年までの年ごとの平均支払価格を返します:
5. 質問を作成する
-
+ New をクリックし、Question を選択します。データベースとテーブルを起点にして質問を作成できることが分かります。たとえば、次の質問は、
defaultデータベース内のuk_price_paidという名前のテーブルに対して実行しています。以下は、Greater Manchester 郡内で、町ごとの平均価格を計算するシンプルな質問です。
-
Visualize ボタンをクリックして、結果を表形式で表示します。

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

さらに学ぶ
Metabase についてさらに詳しく知り、ダッシュボードの構築方法を学ぶには、Metabase のドキュメントをご覧ください。