本記事では、Supersetを使用してOceanBaseデータベースに接続し、データ分析を行う方法について説明します。
背景
デジタルトランスフォーメーションの加速に伴い、企業ではさまざまな分野でデータ分析への需要がますます高まっています。データドリブンな意思決定は企業の競争力を大幅に向上させることができるため、履歴データの処理やリアルタイム分析において、データウェアハウスの構築は特に重要です。OceanBaseは高性能な分散データベースとして、強力なデータストレージとクエリ機能を備えており、オフラインデータ分析やデータウェアハウス構築に最適です。
このような背景のもと、Apache Supersetは現代的なデータ可視化ツールとして、OceanBaseデータベースとシームレスに統合し、ユーザーが効率的なデータ分析と可視化表示を実現するのを支援します。Supersetを使用すると、ユーザーはOceanBaseデータベースに簡単に接続し、データセットをインポートし、データテーブルを作成し、さまざまなチャートやインタラクティブなダッシュボードを生成できるため、データ分析の全プロセスをより効率的かつ直感的にすることができます。本記事では、Supersetを使用してOceanBaseデータベースに接続する方法を詳しく説明し、実際のデータ分析と可視化の手順を示します。これにより、企業がデータリソースをより有効に活用し、インテリジェントな意思決定を実現する一助となることを目指します。
前提条件
- ローカルでSupersetの設定と実行が完了していること。詳細については、Superset Quick Startを参照してください。
- OceanBaseデータベースをインストールし、MySQLテナントを作成していること。
- 利用可能なデータセットを準備していること。本記事で使用されているサンプルデータセットはKaggleから取得したものです。
手順
ステップ1:データベース接続文字列を取得する
OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:OceanBaseデータベースへの接続IPアドレス。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。$port:OceanBaseデータベースへの接続ポート。ODP接続方式のデフォルトポートは2883で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは2881で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。$database_name:アクセス対象のデータベース名。注意
テナントに接続するユーザーは、データベースに対する
CREATE、INSERT、DROP、およびSELECT権限が付与されていなければなりません。その他のユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名またはクラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。$password:アカウントのパスワード。
接続文字列の詳細については、OBClientを使用したOceanBaseテナントへの接続を参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
ステップ2:SupersetコンソールでOceanBaseデータベースに接続する
実行中のSupersetコンソールページを開き、右上の + > Data > Connect database を選択します。

ポップアップウィンドウで、以下の設定を完了します:
- 最初のステップ Select a database to connect で、OceanBaseデータベースタイプを選択します。
- 次のステップ Enter the required MySQL credentials で、ステップ1:データベース接続文字列を取得する 内の接続文字列情報に基づき、HOST、PORT、DATABASE NAME、USERNAME、PASSWORD を順に入力します。DISPLAY NAME の内容はカスタマイズ可能です。
CONNECT をクリックし、次に FINISH をクリックします。
ステップ3:データをインポートし、テーブルを作成する
ステップ1:データベース接続文字列を取得する で取得した接続文字列を使用してOceanBaseデータベースにログインし、テーブルを作成します。テーブル作成のステートメントは以下のとおりです:
CREATE TABLE earthquakes ( Place VARCHAR(255), Latitude DECIMAL(10, 6), Longitude DECIMAL(10, 6), Country VARCHAR(100), Continent VARCHAR(100), Magnitude DECIMAL(3, 1) );LOAD DATAステートメントを使用して、準備済みのデータセットをテーブルにインポートできます。ステートメントの例は以下のとおりです:LOAD DATA INFILE '/path/earthquake_dataset.csv' INTO TABLE earthquakes FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (Place, Latitude, Longitude, Country, Continent, Magnitude);データ量が多い場合、またはインポート時にデータ変換が必要な場合は、データロードツールを使用してデータセットをインポートすることを推奨します。
インポートが成功した後、以下のステートメントを使用して検証します:
obclient> SELECT COUNT(*) FROM earthquakes; +----------+ | COUNT(*) | +----------+ | 1264 | +----------+ 1 row in set
ステップ4:Supersetでデータセットを作成する
Supersetコンソールに戻り、右上の + > Data > Create dataset を選択します。

New dataset ページで、以下の設定を完了します:
パラメータ説明DATABASE ステップ2でDISPLAY NAMEとして定義したデータベース名を選択します。 SCHEMA ステップ1で作成したOceanBaseデータベースを選択します。 TABLE ステップ3で作成したテーブルを選択します。 
CREATE DATASET AND CREATE CHART をクリックして、データセットの作成を完了します。
ステップ5:Supersetでチャートを作成する
データセットの作成後、実際の状況に応じてチャートタイプを選択し、CREATE NEW CHART をクリックして、ニーズに合わせてチャートを設定できます。

チャート設定の詳細については、Superset公式ドキュメントを参照してください。
ステップ6:Supersetでダッシュボードを構築する
単一のチャートではデータ分析の結果を十分に表現できない場合があるため、複数の関連するチャートを組み合わせてダッシュボードを作成することは非常に有用です。
画面上部メニューバーの Dashboards > + Dashboard をクリックし、新しいダッシュボードを作成します。

untitled dashboard をクリックすると、新しいダッシュボードに名前を付けることができます。
ドラッグ&ドロップ機能を使用して、以前に作成したチャートをダッシュボードに追加します。

各チャートの位置とサイズ、レイアウトを調整し、全体を見やすく整然とした画面に整えます。
フィルターなどの機能を活用して、ダッシュボードのインタラクティブ性を強化できます。これらの機能は通常、編集モードの各グラフ上部のツールバーに配置されています(オプション)。
完了後、右上の SAVE ボタンをクリックして保存します。
ステップ7:ダッシュボードを公開する
他のユーザーがダッシュボードを利用できるようにするには、左上のダッシュボードタイトル横の Draft を選択すると、ダッシュボードのステータスを 公開 に変更できます。星印を選択することで、このダッシュボードをお気に入りに追加することもできます。

アプリケーションの表示
