Pentaho Report Designer でCosmos DB のデータを連携利用
CData JDBC Driver for Cosmos DB のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、Cosmos DB のデータにJDBC データソースとして接続し、Pentaho でCosmos DB のデータをもとにしたレポートを公開する方法を説明します。
接続してレポートを作成
- インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
- \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいCosmos DB 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。
Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:cosmosdb: で始まり、その後にセミコロン区切りで接続プロパティを指定します。
CosmosDB 接続プロパティの取得・設定方法
SQL API を使ってCosmos DB アカウントに接続するために必要な接続文字列を取得するには、Azure Portal にログインして「Azure Cosmos DB」を選択し、自分のアカウントを選択します。「Settings」セクションで、「Connection String」をクリックして次の値を設定します。
- AccountEndpoint:この値は、Cosmos DB アカウントの「Keys」ブレードからのCosmos DB アカウントURL に設定してください。
- AccountKey:Azure ポータルで、Cosmos DB サービスに移動してAzure Cosmos DB アカウントを選択します。リソースメニューから、 「Keys」ページに移動します。「PRIMARY KEY」値を見つけ、Token をこの値に設定します。
組み込みの接続文字列デザイナー
JDBC URL の構成については、Cosmos DB JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.cosmosdb.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。
一般的なJDBC URL は次のとおりです:
jdbc:cosmosdb:AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;
- Custom Driver Class Name:cdata.jdbc.cosmosdb.CosmosDBDriver を入力します。
- User Name:認証に使用するユーザー名。
- Password:認証に使用するパスワード。
レポートにCosmos DB のデータを追加
Cosmos DB のデータをもとにレポートを作成する準備が整いました。
-
レポートにCosmos DB のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。
クエリを設定します。この記事では以下のクエリを使用します:
SELECT City, CompanyName FROM Customers
- レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Customers テーブルのシンプルなチャートを作成できます。
- 最後に、レポートを実行してチャートを確認します。