Lightdash と ClickHouse でインタラクティブなダッシュボードを作成する
接続情報を準備する
Lightdash と ClickHouse の接続を設定するには、次の情報が必要です。- Host: ClickHouse データベースが稼働しているアドレス
- User: ClickHouse データベースのユーザー名
- Password: ClickHouse データベースのパスワード
- DB name: ClickHouse データベース名
- Schema: dbt がプロジェクトをコンパイルして実行する際に使用するデフォルトのスキーマ (
profiles.ymlに記載されています) - Port: ClickHouse の HTTPS インターフェイスのポート (デフォルト:
8443) - Secure: このオプションを有効にすると、HTTPS/SSL を使用した安全な接続を利用できます
- Retries: 失敗した ClickHouse クエリに対して Lightdash が再試行する回数 (デフォルト:
3) - Start of week: レポート週の開始曜日を選択します。デフォルトではウェアハウス設定が使用されます
| Parameter(s) | Description |
|---|---|
HOST and PORT | 通常、TLS を使用する場合のポートは 8443、TLS を使用しない場合は 8123 です。 |
DATABASE NAME | デフォルトでは default という名前のデータベースがあります。接続先のデータベース名を使用してください。 |
USERNAME and PASSWORD | デフォルトのユーザー名は default です。用途に応じたユーザー名を使用してください。 |
curl コマンドの例として表示されます。セルフマネージド ClickHouse を使用している場合、接続情報は ClickHouse 管理者によって設定されます。ClickHouse 用の dbt プロファイルを設定する
Lightdash では、接続は既存の dbt プロジェクト に基づいて設定されます。 ClickHouse に接続するには、ローカルの~/.dbt/profiles.yml ファイルに有効な ClickHouse のターゲット設定が含まれていることを確認してください。たとえば、次のようになります。ClickHouse に接続された Lightdash プロジェクトを作成する
dbt プロファイルを ClickHouse 用に設定したら、dbt プロジェクト も Lightdash に接続する必要があります。この手順はすべてのデータウェアハウスで共通しているため、ここでは詳しく説明しません。dbt プロジェクトのインポートについては、Lightdash の公式ガイドを参照してください。dbt プロジェクトをインポートする → Lightdash Docsdbt プロジェクトを接続すると、Lightdash はprofiles.yml ファイルから ClickHouse の設定を自動的に検出します。接続テストが成功すれば、dbt モデルの探索を開始し、ClickHouse を活用したダッシュボードを構築できるようになります。Lightdash で ClickHouse データを探索する
接続すると、Lightdash は dbt モデルを自動的に同期し、次の項目を利用できるようになります。- YAML で定義された 次元 と メジャー
- メトリクス、JOIN、Explore などの セマンティックレイヤーのロジック
- リアルタイムの ClickHouse クエリを基盤とする ダッシュボード
Lightdash でメトリクスと次元を定義する
Lightdash では、すべてのメトリクスと次元を dbt モデルの.yml ファイル内で直接定義します。これにより、ビジネスロジックをバージョン管理でき、一貫性を保ちながら、内容の透明性も高められます。これらを YAML で定義することで、チーム全体でダッシュボードや分析にまたがって同じ定義を使えるようになります。たとえば、
total_order_count、total_revenue、avg_order_value のような再利用可能なメトリクスを、dbt モデルと並べて作成できます。UI で重複して定義する必要はありません。定義方法の詳細については、以下の Lightdash ガイドを参照してください。テーブルからデータをクエリする
dbt プロジェクトを Lightdash に接続して同期すると、テーブル (または「explores」) から直接データを探索できるようになります。 各テーブルは dbt のモデルを表し、YAML で定義したメトリクスと次元が含まれます。Explore ページは、次の 5 つの主要エリアで構成されています。- Dimensions and Metrics — 選択したテーブルで利用できるすべてのフィールド
- Filters — クエリで返されるデータを絞り込む
- Chart — クエリ結果を可視化する
- Results — ClickHouse データベースから返された生データを表示する
- SQL — 結果の背後で生成された SQL クエリを確認する
ダッシュボードを作成する
データを探索して可視化を保存したら、それらを ダッシュボード にまとめてチームと共有できます。Lightdash のダッシュボードは高度にインタラクティブで、フィルターを適用したり、タブを追加したり、リアルタイムの ClickHouse クエリに基づくチャートを表示したりできます。また、ダッシュボード内から直接 新しいチャートを作成することもできるため、プロジェクトを整理しやすく、煩雑になりにくくなります。この方法で作成したチャートは そのダッシュボード専用 で、プロジェクト内の他の場所で再利用することはできません。ダッシュボード専用のチャートを作成するには:- Add tile をクリックします
- New chart を選択します
- チャートビルダーで可視化を作成します
- 保存すると、ダッシュボードの下部に表示されます