こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
この記事では、CData JDBC Driver for ADLS を使ってAzure Data Lake Storage の連携機能を持つJaspersoft Studio の基本的な帳票をテーブルやチャートで作成する方法を説明します。レポートを実行するたびに、チャートおよびテーブルはリアルタイムデータを表示します。JasperSoft のウィザードを使って、レポートエレメントを埋めるSQL クエリをいくつかビルドします。ドライバーは、リレーショナルデータベースへのデータのコピー処理をスキップする間、標準SQL を利用可能にします。代わりに、クエリは基になるAzure Data Lake Storage API に直接実行されます。
JDBC データソースとしてAzure Data Lake Storage データに接続
Jaspersoft Studio で、[Data Adapter]ウィザードを使ってJDBC データソースに接続できます。下記の手順に従って、プロジェクトからAzure Data Lake Storage に接続します。Azure Data Lake Storage データアダプターをワークスペースに追加します。
- [Repository Explorer]で[Data Apters]ノードを右クリックし、[Create Data Adapter]をクリックします。
- [Database JDBC Connection]を選択します。
- ユーザーフレンドリーなドライバー名を入力します。
- [Driver Classpath]タブで[Add]をクリックします。ダイアログが表示されたら、インストールディレクトリの[lib]サブフォルダにナビゲートします。ドライバーのJAR を選択します。
- [Database Location]タブでは、以下の情報が必要です:
- JDBC Driver:JDBC driver のクラス名cdata.jdbc.adls.ADLSDriver を入力。
JDBC URL:JDBC URL に必要な接続プロパティを入力。接続プロパティは、セミコロン区切りでname-value ペアを入力する必要があります。Azure Data Lake Storage の一般的なJDBC URL は次のとおりです:
jdbc:adls:Schema=ADLSGen2;Account=myAccount;FileSystem=myFileSystem;AccessKey=myAccessKey;
Azure DataLakeStorage 接続プロパティの取得・設定方法
Azure DataLakeStorage Gen 1 への接続
Gen 1 DataLakeStorage アカウントに接続するには、はじめに以下のプロパティを設定します。
- Schema:ADLSGen1 を指定。
- Account:アカウント名に設定。
- AzureTenant:テナントId に設定。Azure Portal 内のAzure Data Lake プロパティから取得できます。
- Directory:(オプション)複製したファイルを格納するためのパスを設定。指定しない場合は、ルートディレクトリが使用されます。
Azure DataLakeStorage Gen 1 への認証
Gen 1 は、認証方法としてAzure Active Directory OAuth(AzureAD)およびマネージドサービスID(AzureMSI)をサポートしています。認証方法は、ヘルプドキュメントの「Azure DataLakeStorage Gen 1
への認証」セクションを参照してください。
Azure DataLakeStorage Gen 2 への接続
Gen 2 DataLakeStorage アカウントに接続するには、はじめに以下のプロパティを設定します。
- Schema:ADLSGen2 に設定。
- Account:ストレージアカウント名に設定。
- FileSystem:このアカウントで使用するファイルシステム名に設定。例えば、Azure Blob コンテナ名など。
- Directory:(オプション)複製したファイルを格納するためのパスを設定。指定しない場合は、ルートディレクトリが使用されます。
Azure DataLakeStorage Gen 2 への認証
Gen 2は、認証方法としてアクセスキー、共有アクセス署名(SAS)、Azure Active Directory
OAuth(AzureAD)、マネージドサービスID(AzureMSI)など多様な方法をサポートしています。AzureAD、AzureMSI での認証方法は、ヘルプドキュメントの「Azure DataLakeStorage Gen 2
への認証」セクションを参照してください。
アクセスキーを使用した認証
アクセスキーを使用して接続するには、AccessKey プロパティを取得したアクセスキーの値に、AuthScheme を「AccessKey」に設定します。
Azure ポータルからADLS Gen2 ストレージアカウントのアクセスキーを取得できます。
- Azure ポータルのADLS Gen2 ストレージアカウントにアクセスします。
- 設定で「アクセスキー」を選択します。
- 利用可能なアクセスキーの1つの値を「AccessKey」接続プロパティにコピーします。
共有アクセス署名(SAS)
共有アクセス署名を使用して接続するには、SharedAccessSignature プロパティを接続先リソースの有効な署名に設定して、AuthScheme を「SAS」に設定します。
共有アクセス署名は、Azure Storage Explorer などのツールで生成できます。
Azure Data Lake Storage データ で帳票を作成
Azure Data Lake Storage のデータアダプターを作成したら、Azure Data Lake Storage データをJasperReports に追加できます。このセクションでは同梱されているテンプレートの一つをAzure Data Lake Storage データに連携させる方法について説明します。
- [File]>[New Jasper Report]をクリックします。テンプレートを選択し、親プロジェクトを選択して、帳票に名前を入力します。
- [Data Adapter]ウィザードで、先のセクションで作成したデータアダプターを選択します。
- [Diagram]タブでは、クエリを視覚的にビルドできます:テーブルをボックスにドラッグしお好みのカラムをクリックします。カスタムクエリも入力可能です。例:
SELECT * FROM Resources
- データセットに含めたいフィールドを選択します。
[Preview]タブでは、最新のAzure Data Lake Storage を使ったものと同じ帳票を見ることができます。
チャートを追加
下記の手順に従って、Azure Data Lake Storage のチャートを既存の帳票に追加します。棒グラフを、先のセクションで作成した帳票テンプレートの最後に追加します。
- [Design]タブをクリックします。
- [Outline]ビューで、帳票のルートノードを右クリックし[Create Dataset]をクリックします。
- データセット名を入力し、オプションをクリックして接続またはデータソースから新しいデータセットを作成します。
- [Data Adapter]メニューで、最初のセクションで作成した[Data Adapter]を選択します。
- 次のクエリを入力します:
SELECT FullPath, Permission FROM Resources WHERE Type = 'FILE'
- データセットに必要なフィールドを選択します。この例ではすべてのフィールドを使います。
- カラムでグループ化する手順はスキップします。Azure Data Lake Storage API はGROUP BY のステートメントをサポートしていません。
データセットを追加したら、下記の手順に従ってチャートを作成します。
- [Outline]ビューの[Summary]ノードをクリックします。[Properties]ビューで高さを400ピクセルに設定します。サマリーバンドが帳票の最後にプリントされます。
- チャートを[Palette]からsummary にドラッグします。Chart ウィザードが表示されます。
- チャートの種類を選択します。この例では棒グラフを使います。
- [Dataset]メニューで、チャート用に作成したデータセットを選択します。
- [Dataset]タブで、オプションを選択してマスター帳票と同じ接続を使用します。Chart ウィザードは接続パラメータを入力し、メニューセレクションを[Use Another Connection]に変更します。
- [Series]メニューの隣にあるボタンをクリックし、デフォルトシリーズを削除します。[Add]をクリックします。
- [Expression Editor]が表示されたら、カラムをダブルクリックして各カラム値に新しいシリーズを作成します。例:FullPath。シリーズをFullPath に設定した場合、FullPath ごとに新しい棒グラフが作成されます。
- [Value]ボックスの隣にあるボタンをクリックし、チャートのmeasures 用に[Expression Editor]を開きます。カラムをダブルクリックしてy 軸に追加します。例:Permission。
- [Label]ボックスの隣にあるボタンをクリックし、チャートのdimensions 用に[Expression Editor]を開きます。カラムをダブルクリックしてx 軸に追加します。例:FullPath。
- この例ではカテゴリを使用しないため、[Category]ボックスに空の文字列 "" を入力します。
チャートを作成したら基本的なフォーマットを行い、サブレポートをレポートに未使用スペースなくシームレスに追加できるようにします。
- チャートを右クリックして[Size to Container]>[Fit Both]をクリックします。
- メインレポートでサブレポートを右クリックして[Size to Container]>[Fit Both]をクリックします。
プレビューする前に帳票への変更を保存します。チャートが帳票の最後のページに表示されます。