Tableau
Tableau は、主要なビジネスインテリジェンス(BI)とデータ可視化のツールです。Apache Doris は MySQL プロトコルと互換性があるため、専用のプラグインを使わずに、Tableau の公式 MySQL コネクタ(MySQL JDBC ドライバーを使用)から直接接続できます。
このドキュメントは、次のようなケースを対象としています。
- 既存の Apache Doris クラスターのデータを Tableau で探索し、レポートを作成したい場合。
- Doris の明細データや集計結果を Tableau のワークブックのデータソースとして使いたい場合。
- Doris の分析結果を Tableau のダッシュボードで公開したい場合。
このドキュメントの手順を完了すると、次のことができるようになります。
- ローカル環境に Tableau Desktop と MySQL JDBC ドライバーをインストールして設定する。
- Tableau から Apache Doris へのデータソース接続を作成する。
- Doris のデータソースを使って、Tableau でグラフとダッシュボードを作成する。
前提条件
作業を始める前に、次の要件を満たしていることを確認してください。
| 項目 | 要件 |
|---|---|
| Apache Doris クラスター | アクセス可能で、FE の MySQL プロトコル用ポート(デフォルトは 9030)が開いていること |
| データベースアカウント | 対象データベースに対する読み取り権限があること |
| Tableau Desktop | 最新バージョンがインストールされていること(ダウンロードページ) |
| MySQL JDBC ドライバー | バージョン 8.3.0(ダウンロードリンク) |
ステップ 1:Tableau と JDBC ドライバーをインストールする
-
Tableau Desktop をダウンロードしてインストールします。
-
MySQL JDBC Driver 8.3.0 をダウンロードします。
-
JDBC ドライバーの jar ファイルを、Tableau が指定するディレクトリに配置します。
OS ドライバーの配置先 macOS ~/Library/Tableau/DriversWindows %tableau_path%\Drivers\(デフォルトはtableau_path = C:\Program Files\Tableau) -
ドライバーを読み込むために Tableau Desktop を再起動します。
ステップ 2:Tableau で Apache Doris データソースを設定する
ドライバーのインストール後、Tableau で Doris に接続するデータソースを作成できます。以下の例では tpch データベースを使用します。
1. 接続情報を準備する
JDBC を介して Apache Doris に接続するために必要なパラメーターは次のとおりです。
| パラメーター | 説明 | 例 |
|---|---|---|
| Server | Doris FE のホストアドレス | 127.0.0.1 |
| Port | Doris FE の MySQL プロトコル用ポート | 9030 |
| Database | データベース名 | tpch |
| Username | ユーザー名 | testuser |
| Password | パスワード | (アカウントに応じて入力) |
| Init SQL Statement | 接続の確立後に自動実行される初期化 SQL | select * from database.table |
2. 接続を作成する
-
Tableau Desktop を起動します。すでに起動している場合は、ドライバーを読み込むために再起動します。
-
左側のメニューにある To a Server の下で More をクリックし、コネクタの一覧から MySQL を検索します。

-
MySQL をクリックして接続設定ダイアログを開きます。

-
ダイアログの案内に従って、前の手順で準備した接続情報を入力します。
-
Sign In をクリックします。接続に成功すると、新しい Tableau ワークブックが開きます。

ステップ 3:Tableau で可視化を作成する
以下では、TPC-H データセットを使って、Doris データソースから可視化を作成する方法を説明します。TPC-H データの作成方法については、TPC-H ベンチマークのドキュメントを参照してください。
1. データテーブルを結合する
-
customerテーブルとordersテーブルをワークブックにドラッグし、下部のパネルで結合フィールドをCustkeyに設定します。
-
nationテーブルをワークブックにドラッグし、customerとの結合フィールドをNationkeyに設定します。
-
三つのテーブルを結合すると、分析に使用できるデータソースができます。ワークシートに移るには、ワークブック下部の
Sheet 1タブをクリックします。
2. シナリオ A:年別顧客数の集計(折れ線グラフ)
OrderDate(orders テーブル)を Columns に、customer(count)(customer テーブル)を Rows にドラッグします。Tableau が折れ線グラフを生成します。

TPC-H データセットはスクリプトによってデフォルトのルールで生成されたもので、実際の業務データではありません。結果は機能の説明と接続確認のみを目的としています。
3. シナリオ B:地域別・年別の平均注文金額
-
New Worksheetをクリックして新しいシートを作成します。 -
Name(nationテーブル)をRowsにドラッグします。 -
OrderDate(ordersテーブル)をColumnsにドラッグします。この時点では集計対象のメジャーが指定されていないため、表にはプレースホルダーの
Abcが表示されます。 -
Totalprice(ordersテーブル)を表の中央にドラッグします。デフォルトの集計方法はSUMです。
-
SUMをクリックし、MeasureをAverageに変更します。
-
同じドロップダウンメニューで
Formatを選択し、NumbersをCurrency (Standard)に設定します。
-
最終的なレポートは、次の想定結果のようになります。

これで Tableau を Apache Doris に接続し、データ分析と可視化のダッシュボードを作成できました。
ベストプラクティス
パフォーマンスの最適化
- テーブルスキーマを慎重に設計する:クエリのパターンに基づいて Doris テーブルのパーティションとバケットを設計し、スキャンするデータ量とデータ転送のコストを削減します。
- マテリアライズドビューを使用する:集計クエリを頻繁に実行する場合は、Doris でマテリアライズドビューを作成して集計結果を事前に計算し、Tableau ダッシュボードの応答を速くします。
- 適切な更新スケジュールを設定する:ダッシュボードのデータを最新の状態に保ちながらクラスターの負荷を抑えるため、更新頻度と計算リソースの消費量のバランスを取ります。
セキュリティ設定
- ネットワーク分離:パブリックネットワークから Doris に直接アクセスする代わりに、VPC のプライベート接続を使用します。
- アクセス制御:セキュリティグループを使って Doris のポートへのアクセス元を制限します。
- 通信の暗号化:SSL/TLS による暗号化接続を有効にします。
- 最小権限の原則:過剰な権限付与を避けるため、Doris のユーザーロールと権限を細かく設定します。