Amazon Athena JDBC Driver を使用した OBIEE でのレポート作成
CData JDBC Driver for Amazon Athena は、標準的なデータベースドライバーとして、Java ベースのレポーティングサーバーにAmazon Athena のデータへのリアルタイムアクセスを統合できます。この記事では、Oracle Business Intelligence Enterprise Edition(OBIEE)にドライバーをデプロイし、変更がリアルタイムに反映されるAmazon Athena のデータのレポートを作成する方法を説明します。
Amazon Athena データ連携について
CData は、Amazon Athena のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- IAM 認証情報、アクセスキー、インスタンスプロファイルなど、さまざまな方法で安全に認証できます。多様なセキュリティニーズに対応し、認証プロセスを簡素化します。
- 詳細なエラーメッセージにより、セットアップを効率化し、問題を迅速に解決できます。
- サーバーサイドでのクエリ実行により、パフォーマンスを向上させ、クライアントリソースへの負荷を最小限に抑えます。
ユーザーは、Tableau、Power BI、Excel などの分析ツールと Athena を統合し、お気に入りのツールから詳細な分析を行うことができます。
CData を使用した Amazon Athena のユニークなユースケースについては、ブログ記事をご覧ください:https://jp.cdata.com/blog/amazon-athena-use-cases
はじめに
JDBC Driver のデプロイ
以下の手順で、JDBC Driver を WebLogic のクラスパスに追加します。
WebLogic 12.2.1 の場合、ドライバーの JAR ファイルと .lic ファイルを DOMAIN_HOME\lib に配置するだけで完了です(例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\lib)。これらのファイルは起動時にサーバーのクラスパスに追加されます。
手動でクラスパスにドライバーを追加することもできます(以前のバージョンでは必須)。setDomainEnv.cmd(Windows)または setDomainEnv.sh(Unix)の PRE_CLASSPATH の先頭に以下を追加します。このスクリプトは、そのドメインのフォルダ内の bin サブフォルダにあります(例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\bin)。
set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.amazonathena.jar;%PRE_CLASSPATH%
すべてのサーバーを再起動します(例:DOMAIN_HOME\bitools\bin の stop コマンドと start コマンドを実行)。
Amazon Athena 用 JDBC データソースの作成
JDBC Driver をデプロイしたら、BI Publisher から JDBC データソースを作成できます。
- BI Publisher にログインします(URL は例えば http://localhost:9502/analytics)。Administration -> Manage BI Publisher をクリックします。
- JDBC Connection -> Add Data Source をクリックします。
- 以下の情報を入力します:
- Data Source Name:ユーザーがレポートで接続を作成する際に使用する名前を入力します。
- Driver Type:Other を選択します。
- Database DriverClass:ドライバークラス cdata.jdbc.amazonathena.AmazonAthenaDriver を入力します。
- Connection String:JDBC URL を入力します。
Amazon Athena 接続プロパティの取得・設定方法
それでは、早速Athena に接続していきましょう。
データに接続するには、以下の接続パラメータを指定します。
- DataSource:接続するAmazon Athena データソース。
- Database:接続するAmazon Athena データベース。
- AWSRegion:Amazon Athena データがホストされているリージョン。
- S3StagingDirectory:クエリの結果を保存するS3 フォルダ。
Database またはDataSource が設定されていない場合、CData 製品はAmazon Athena の利用可能なデータソースからすべてのデータベースのリスト化を試みます。そのため、両方のプロパティを設定することでCData 製品のパフォーマンスが向上します。
Amazon Athena の認証設定
CData 製品は幅広い認証オプションに対応しています。詳しくはヘルプドキュメントの「はじめに」を参照してみてください。
AWS キーを取得
IAM ユーザーの認証情報を取得するには、以下のステップお試しください。
- IAM コンソールにサインインします。
- ナビゲーションペインでユーザーを選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。
AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。
- ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択します。
- 表示されたメニューでMy Security Credentials を選択します。
- ルートアカウントのアクセスキーを管理または作成するには、Continue to Security Credentials をクリックし、[Access Keys]セクションを展開します。
その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。
組み込みの接続文字列デザイナー
JDBC URL の構築には、Amazon Athena JDBC Driver に組み込まれた接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.amazonathena.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時のパフォーマンス向上に特に役立ちます。
一般的な JDBC URL は以下のとおりです:
jdbc:amazonathena:AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';
- Username:ユーザー名を入力します。
- Password:パスワードを入力します。
- Security セクションで、許可するユーザーロールを選択します。
リアルタイム Amazon Athena レポートの作成
これで、リアルタイムAmazon Athena のデータに基づいたレポートや分析を作成できます。以下の手順で、標準のレポートウィザードを使用して、Amazon Athena のデータの変更がリアルタイムに反映されるインタラクティブなレポートを作成します。
- グローバルヘッダーで、New -> Data Model をクリックします。
- Diagram タブで、メニューから SQL query を選択します。
- クエリの名前を入力し、Data Source メニューで作成した Amazon Athena JDBC データソースを選択します。
- standard SQL を選択し、以下のようなクエリを入力します:
SELECT Name, TotalDue FROM Customers
- View Data をクリックして、レポート作成に使用するサンプルデータを生成します。
- サンプルデータに含める行数を選択し、View をクリックしてから、Save As Sample Data をクリックします。
- Create Report -> Use Data Model をクリックします。
- Guide Me を選択し、Select Layout ページで含めるレポートオブジェクトを選択します。この例では Chart と Table を選択します。
- TotalDue のような数値カラムを Y 軸の Drop Value Here ボックスにドロップします。Name のようなディメンションカラムを X 軸の Drop Label Here ボックスにドロップします。
- Refresh をクリックすると、Amazon Athena のデータの変更が反映されます。