Cognos BI でAmazon Athena データを使ってデータビジュアライゼーションを作成

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Amazon Athena ODBC Driver

Amazon Athena ODBC Driver は、ODBC 接続をサポートする任意のアプリケーションからAmazon Athena のライブデータに直接接続できるパワフルなツールです。

標準のODBC Driver インターフェースを使用して、データベースのようにインタラクティブなクエリサービスAmazon Athena データにアクセスします。



Cognos Business Intelligence のODBC データソースとしてAmazon Athena にアクセスし、Cognos Report Studio でデータビジュアライゼーションを作成。



CData ODBC driver for Amazon Athena を使って、Amazon Athena データをドラッグアンドドロップ スタイルのCognos Report Studio に連携できます。この記事では、データビジュアライゼーションをSQL を書かずに作成するグラフィカルアプローチと、Amazon Athena がサポートする任意のSQL クエリを実行する方法の両方について説明します。


※製品について詳しい情報をご希望の方は以下からお進みください。

Amazon Athena のデータソースの設定およびパブリッシュ

下記の手順に従って、[Cognos Administration]ツールのライブ Amazon Athena に接続を確立します。この接続はCognos BI 全体で使えます。このドライバーを使って、すべてのユーザーは一貫したデータおよびメタデータ:リアルタイムAmazon Athena を利用できます。

  1. 接続プロパティの指定がまだの場合は、ODBC DSN (データソース名)で行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

    64ビット版のマシンからCognos を実行している場合は、32ビット版ODBC データソースアドミニストレーターを起動する必要があります。以下のコマンドで開くことができます:

    C:\Windows\sysWOW64\odbcad32.exe

    一般的な接続文字列は次のとおりです:

    Amazon Athena への接続

    Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。

    Note: AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。

    Access Key の取得

    IAM ユーザーのクレデンシャル取得は以下のとおり:

    1. IAM コンソールにログイン。
    2. Navigation ペインで[ユーザー]を選択。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから[セキュリティ認証情報]タブを選択。

    AWS ルートアカウントのクレデンシャル取得は以下のとおり:

    1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインイン。
    2. アカウント名または番号を選択し、表示されたメニューで[My Security Credentials]を選択。
    3. [Continue to Security Credentials]をクリックし、[Access Keys]セクションを展開して、ルートアカウントのアクセスキーを管理または作成。

    EC2 インスタンスからの認証

    EC2 インスタンスから本製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKeySecretKey を空のままにします。 本製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、本製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeySecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。

    MFA での認証

    多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、本製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。

    Amazon Athena への接続

    AccessKeySecretKey プロパティに加え、DatabaseS3StagingDirectoryRegion を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。

    接続にDatabase が設定されていない場合は、本製品はAmazon Athena に設定されているデフォルトデータベースに接続します。

    Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

  2. [Cognos Administration]を開いて新しいデータソースを追加します。[Data Source Connections]をクリックして[ODBC]オプションを選択したら、システムDSN とユーザーフレンドリーな名前を入力します。Click Retrieve Objects and choose the CData Amazon Athena database object.

Data Visualizations をレポートに追加

これで、[Source Explorer]からレポートオブジェクトにカラムをドラッグアンドドロップしてCognos Report Studio のAmazon Athena data にレポートを作成できます。以下では、最新データを表示するチャートを持つシンプルなレポートを作成する方法を説明します。

レポートをビルドすると、Cognos Report Studio はSQL クエリを生成して実行をドライバーに依存します。ドライバーはクエリをAmazon Athena API へのリクエストに変換します。ドライバーはリアルタイムAmazon Athena へのクエリの実行を基になるAPI に依存します。

アグリゲートに基づきチャートを作成

[Source Explorer]からオブジェクトのdimentions にカラムをドラッグアンドドロップするだけで、Cognos レポートオブジェクトとしてAmazon Athena データを使うことができます。チャートのSeries dimension のカラムは自動的にグループ化されます。

さらにCognos は、measure dimesion のロジカルなデフォルトアグリゲート関数をデータタイプに基づいて設定します。この例では、デフォルトをオーバーライドしています。[Data Items]タブの TotalDue カラムをクリックしてAggregate Function プロパティを Not Applicableに設定します。Rollup Aggregate Function プロパティは Automatic に設定する必要があります。

Query オブジェクトをSQL に変換

必要なクエリを把握している、あるいは生成されたクエリを調整したい場合は、query オブジェクトをSQL ステートメントに変換します。クエリがSQL に変換されると、UI コントロールはquery オブジェクトで利用できなくなります。下記の手順に従って、ユーザー定義のSQL でチャートを埋めます。

Cognos はユーザー定義クエリの実行をドライバーに依存します。ドライバーのSQL エンジンを使うと、キャッシュデータのコピーがないためクエリは常に最新の結果を返します。

  1. [Query Explorer]の上にカーソルを置き、[Queries]フォルダをクリックしてレポートにquery オブジェクトを表示します。
  2. 自動生成されたクエリを編集したい場合は、Generated SQL プロパティにあるquery オブジェクトのボタンをクリックします。ダイアログが表示されたら、[Convert]をクリックします。

    新たにSQL ステートメントを入力したい場合は、query オブジェクトと一緒にSQL オブジェクトをドロップします。

  3. SQL オブジェクトのプロパティを編集:SQL プロパティでAmazon Athena データソースを選択してSQL Syntax プロパティをNative に設定します。
  4. SQL プロパティのボタンをクリックし、ダイアログが表示されたらSQL クエリを入力します。この例では以下のクエリを使います:

    SELECT Name, TotalDue FROM Customers
  5. query オブジェクトのプロパティを編集:Processing プロパティを[Limited Local]に設定します。この値はquery オブジェクトをSQL に変換するために必要です。

クエリ結果をチャートで使用

これで[Data Items]タブのオブジェクトとしてSQL クエリ結果にアクセスできるようになりました。下記の手順に従って、クエリ結果を使ってチャートを作成します;例えば、Customers テーブルからTotalDue を各Name へ。

  1. [Page Explorer] 上にカーソルを置きpage オブジェクトをクリックしてページに戻ります。
  2. 円グラフをツールボックスからワークスペース上にドラッグします。
  3. チャートのプロパティで、Query プロパティに先ほど作成したクエリの名前を設定します。
  4. [Data Items]タブをクリックしてカラムをx およびy 軸上にドラッグします。この例ではName カラムをSeries (pie slices) ボックスに、TotalDue カラムをDefault Measure ボックスにドラッグします。
  5. Default Measure (TotalDue 値) のデフォルトのプロパティを編集します:[Aggregate Function]ボックスで "Not Applicable" オプションを選択します。

レポートを実行してクエリ結果を追加します。