はじめに
CData は様々なデータソースに接続可能なコネクタを提供しています。以前に Active Directory、SharePoint、Twitter などへの接続を紹介しましたが、今回は MongoDB に接続してみたいと思います。
なお、下記手順は Windows 環境を前提としています。
コネクタ
コネクタの入手
CData の MongoDB JDBC Driver 評価版を利用します。まずは下記 URL にアクセスし、対応データソースから MongoDB を選択します。その後、[JDBC] > [ダウンロード] > [ダウンロード評価版] > [ダウンロード Windows Setup (.exe)] の順に進み、MongoDBJDBCDriver.exe をダウンロードします。
MongoDBJDBCDriver.exe を実行すると、デフォルトで以下にファイルが解凍されます。
C:\Program Files\CData\CData JDBC Driver for MongoDB 2022J J
lib フォルダに以下のようなファイルが存在します。
コネクタのインストール
ライセンスファイル cdata.mongodb.lic を zip ファイルに圧縮した後、cdata.jdbc.mongodb.lic.zip をcdata.jdbc.mongodb.lic.jar に名称変更します。プラグイン管理画面で .jar か .yfp ファイルしか登録できないことへの対応です。
Yellowfin 画面から [管理] > [プラグイン管理] > [追加] と進み、cdata.jdbc.mongodb.jar をドロップして追加した後、「さらに追加」を選択して、cdata.jdbc.mongodb.lic.jar を追加します。結果、以下のように、実行ファイルとライセンスファイルの両者を合わせて登録します。
データソース
Yellowfin 画面から [管理] > [プラグイン管理] > [追加] と進み、[新規データ接続] で [データソースを選択] から [データベース] を選択します。
新規接続の設定画面から、以下を参照に新規接続を作成します。
項目 | 設定値 |
---|---|
名前 | MongoDB |
データベースタイプ | 一般 JDBC データソース |
JDBC ドライバー | cdata.jdbc.mongodb.MongoDBDriver(MongoDB CData) |
接続文字 | jdbc:mongodb:AuthScheme=SCRAM-SHA-256;Server=localhost;User=demo;Password=password;Database=demo; |
AuthSchemeに関しては、各環境に合わせて適切な認証方式を選択してください。
cdata.jdbc.mongodb.jar をダブルクリックすると、下記の画面が表示されます。こちらで接続テストをした後、接続文字列をコピーして利用すると良いかと思います。適切な認証方式と ID/PASSWD が選択できているか否かを確認できます。
接続文字列の末尾に下記を付与することで、指定したディレクトリにログファイルを出力することもできます。
LogFile=C:\log\MongodbLog.log;Verbosity=3;
[ビュー作成] ボタンを押下し、接続が成功し、テーブル名が参照できればひとまず大丈夫です。
ビュー作成
先の手順で作成したデータソースを参照して、ビューを作成します。
demo データベース内の result コレクションを参照するビューを作成します。コレクションというのは、一般的なデータベースでいうテーブルと読み替えていただければと思います。
[
{
_id: ObjectId("63d0d1051f32a7567cff7763"),
division: '北海道支店',
sales: 1000
},
{
_id: ObjectId("63d0d1da1f32a7567cff776c"),
division: '関東支店',
sales: 1500
},
{
_id: ObjectId("63d0d1da1f32a7567cff776d"),
division: '中部支店',
sales: 1200
},
{
_id: ObjectId("63d0d1da1f32a7567cff776e"),
division: '近畿支店',
sales: 1500
},
{
_id: ObjectId("63d0d1da1f32a7567cff776f"),
division: '中国支店',
sales: 800
},
{
_id: ObjectId("63d0d1da1f32a7567cff7770"),
division: '四国支店',
sales: 700
},
{
_id: ObjectId("63d0d1db1f32a7567cff7771"),
division: '九州沖縄支店',
sales: 1800
}
]
上記コレクションから division と sales フィールドを参照するビューを作成しました。
レポートの作成
レポートを新規で作成します。
最後に
JSON や XML などの形式でデータを扱うドキュメント指向型のデータベースにも対応可能なことが分かりました。Yellowfin BI の使い勝手が更に広がりますね。
では皆様、良いデータ分析を!
See you then, Cheers! Skål!