Apache Superset
Apache Supersetは、豊富なデータソース接続、様々な可視化方法、きめ細かなユーザーアクセス制御をサポートするオープンソースのデータマイニングプラットフォームです。主な機能には、セルフサービス分析、カスタマイズ可能なダッシュボード、分析結果の可視化(エクスポート)、ユーザー/ロールアクセス制御、SQL編集とクエリのための統合SQLエディタが含まれます。
Apache Supersetバージョン3.1では公式の接続方法が提供され、Apache Dorisの内部および外部データの両方のクエリと可視化を公式にサポートしています。Apache Dorisバージョン2.0.4以上を推奨します。
この接続方法により、SupersetはApache Dorisのデータベースとテーブルをデータソースとして統合できます。この機能を有効にするには、以下のセットアップガイドに従ってください:
- 前提条件のセットアップ
- Apache SupersetでのApache Dorisデータソースの設定
- Apache Supersetでの可視化の構築
- 接続と使用のヒント
Supersetとdoris Pythonクライアントのインストール
- Python 3をインストールします。バージョン3.1.11を推奨します。
- Apache Supersetバージョン3.1以降をインストールします。詳細はInstalling Superset from PyPI repositoryを参照してください。
- Apache SupersetサーバーにApache Doris Pythonクライアントをインストールします。以下のコマンドを参考にできます:
pip install pydoris
インストール結果の確認:
-> pip list | grep pydoris
pydoris 1.1.0
環境が正しいことを確認した後、SupersetでDorisデータソースを設定し、データ可視化の構築を開始できます!
SupersetでDorisデータソースを設定する
PydorisとApache Supersetドライバーをインストールしたので、Dorisのtpchデータベースに接続するSupersetのデータソースを定義する方法を見てみましょう。
- Pydoris経由でApache Dorisに接続するには、SQLAlchemy URI接続文字列を設定する必要があります:
この形式で設定を完了してください:
doris://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>
URIパラメータは以下の通りです:
| パラメータ | 意味 | 例 |
|---|---|---|
| User | ユーザー名 | testuser |
| Password | パスワード | xxxxxx |
| Host | データベースホスト | 127.0.1.28 |
| Port | データベースクエリポート | 9030 |
| Catalog | Doris Catalog、外部テーブルとデータレイクのクエリ時に使用;内部テーブルはinternal | internal |
| Database | データベース名 | tpch |
- Supersetにアクセスします。

- ログイン後、右上のSettings -> Database Connectorsをクリックします。

- Add Databaseをクリックします。Connect a databaseポップアップウィンドウでApache Dorisを選択します。

- 接続情報にSQLAlchemy URIを入力します。接続が正しいことを確認した後、Connectをクリックします。

- データソースの追加が完了しました。

次に、Supersetでいくつかの可視化を構築できます!
Supersetで可視化を構築する
データソースとしてTPC-Hデータを選択します。Doris TPC-Hデータソースの構築手順については、このドキュメントを参照してください。
SupersetでDorisデータソースを設定したので、データを可視化してみましょう...
コスト分析のために、異なる輸送方法の注文金額の時間変化曲線を分析する必要があるとします。
- DatasetsをクリックしてDatasetを追加します

- 以下を順番に選択し、右下のCreate dataset and create chartをクリックします:
- Database:Doris
- Schema: tpch
- Table:lineitem

- lineitem Datasetを編集します

- Metrics -> Add itemをクリックして計算メトリックを追加します。
- Metric Key : Revenue
- SQL expression :
SUM(l_extendedprice* (1 -l_discount))

- Chart -> Add Chartに移動し、datasetにlineitemを選択し、チャートタイプにLine Chartを選択します。

- l_shipdateをX軸にドラッグし、時間粒度を設定します。同時に、Revenumカスタムメトリックとデータ列l_shipmodeをそれぞれMetersとDimensionsにドラッグします。

- Update chartをクリックしてダッシュボードコンテンツを表示します。Saveをクリックしてダッシュボードを保存します。

この時点で、SupersetがApache Dorisに正常に接続され、データ分析と可視化ダッシュボードの作成が実装されました。
接続と使用のヒント
- データベース作成時にApache Dorisを選択するため、Superset環境にpydorisを事前にインストールしてください。
- 実際のニーズに応じてDorisデータベーステーブルを合理的に作成し、時間によってパーティション分割とバケット分割を行うことで、述語フィルタリングとほとんどのデータ転送を効果的に削減できます。
- パブリックネットワークアクセスによるセキュリティリスクを回避するため、VPCプライベート接続の使用を推奨します。
- 過度な権限委譲を避けるため、Dorisユーザーアカウントの役割とアクセス権限を細かく設定してください。