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に移動し、datsetにlineitemを選択し、チャート種類にLine Chartを選択します。

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

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

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