本記事では、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 を選択すると、ダッシュボードのステータスを 公開 に変更することができます。星印を選択して、このダッシュボードをお気に入りに追加することもできます。

アプリケーションの表示
