CData API Server で Slingshot の Amazon Athena のデータ を分析

Cameron Leblanc
Cameron Leblanc
Technology Evangelist
CData API Server を使用してAmazon Athena のデータの OData API を構築し、Slingshot(旧 Reveal BI)でライブ のデータ をシームレスに可視化します。

Slingshot(旧 Reveal BI)は、データ駆動型のワークマネジメントスイートで、アナリティクス、チームおよびプロジェクトの調整、コンテンツ共有、コミュニケーションを単一のプラットフォームに統合します。CData API Server を使用すると、Slingshot でシームレスに利用可能なライブ Amazon Athena のデータ 用の OData API を生成できます。

このガイドでは、CData API Server を使用して Amazon Athena 用の OData エンドポイント を生成し、それらのエンドポイントを Slingshot に取り込んでリアルタイムダッシュボードを作成し、データ分析を効率化するステップバイステップのプロセスをご紹介します。

それでは始めましょう!

前提条件

  1. CData API Server: こちらから無料トライアルをダウンロードできます。
  2. Slingshot アカウントとアプリ: こちらからログインまたはサインアップしてダウンロードできます。
  3. データを含むアクティブな Amazon Athena アカウント。

概要

以下の手順で進めていきます。

  1. CData API Server をインストールし、Amazon Athena への接続を設定して、Slingshot で使用するために API Server 内で Amazon Athena のデータ の OData API エンドポイントを生成します。
  2. これらのエンドポイントを Slingshot で接続し、インタラクティブなダッシュボードを構築してリアルタイム分析を行います。

Amazon Athena データ連携について

CData は、Amazon Athena のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • IAM 認証情報、アクセスキー、インスタンスプロファイルなど、さまざまな方法で安全に認証できます。多様なセキュリティニーズに対応し、認証プロセスを簡素化します。
  • 詳細なエラーメッセージにより、セットアップを効率化し、問題を迅速に解決できます。
  • サーバーサイドでのクエリ実行により、パフォーマンスを向上させ、クライアントリソースへの負荷を最小限に抑えます。

ユーザーは、Tableau、Power BI、Excel などの分析ツールと Athena を統合し、お気に入りのツールから詳細な分析を行うことができます。

CData を使用した Amazon Athena のユニークなユースケースについては、ブログ記事をご覧ください:https://jp.cdata.com/blog/amazon-athena-use-cases


はじめに


ステップ 1:CData API Server のインストール、設定、Amazon Athena への接続

1.1 API Server のインストール

まだインストールしていない場合は、CData API Server をダウンロードしてインストールしてください。インストールウィザードに従ってセットアップを完了します。

インストールが完了したら、以下の方法でサーバーを起動できます。

  • Windows: CData API Server はデフォルトでサービスとして実行されます。サービスが実行されていることを確認し、ブラウザで http://localhost:8080/ を開いて API Server 管理コンソールにアクセスします。
  • Linux/Mac: サーバーを手動で実行するか、サービスとして実行できます。手動で起動するには、インストールディレクトリに移動して java -jar apiserver.jar を実行します。
  • また、root 権限で service.sh を実行して、API Server を Linux システムサービスとしてセットアップすることもできます。

1.2 CORS の有効化

Slingshot アプリと API Server が異なるドメインでホストされている場合、クロスドメイン通信を可能にするために CORS(Cross-Origin Resource Sharing)を有効にする必要があります。API Server で CORS を有効にするには:

  1. 「Settings」に移動し、 アイコンをクリックして CORS 設定を編集します。
  2. Cross-Origin Resource Sharing (CORS) を有効にします。
  3. Allow all domains without '*' を有効にして、すべてのオリジンを許可します。
  4. Access-Control-Allow-Origin に Amazon Athena のオリジンドメインを入力するか、* を使用してすべてのドメインを許可します。これはパブリック API に適しています。
  5. Access-Control-Allow-Credentials を有効にして、Cookie と認証ヘッダーを許可します。
  6. Access-Control-Allow-MethodsGET, PUT, POST, OPTIONS を入力します。
  7. Access-Control-Allow-HeadersAuthorization, Content-Type を入力します。
  8. Access-Control-Max-Age(デフォルト:3600 秒)を設定して、プリフライトリクエストをキャッシュします。
  9. 「Save」をクリックします。

1.3 API Server で Amazon Athena 接続を設定

  1. 「Settings」に移動し、右上の Add Connection をクリックします。
  2. Amazon Athena を選択します。表示されない場合は、Only Installed をオフにしてすべてのコネクタを表示します。
  3. Install Connector をクリックして自動インストールします。手動セットアップの場合は、Manual Install を選択して ZIP ファイルをアップロードします。
  4. インストールが完了したら、Amazon Athena を再度クリックして接続設定を開き、以下の詳細を使用して設定します。
  5. 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 ユーザーの認証情報を取得するには、以下のステップお試しください。

    1. IAM コンソールにサインインします。
    2. ナビゲーションペインでユーザーを選択します。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。

    AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。

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

    その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。

  6. 「Save & Test」をクリックして接続設定を検証し完了します。

1.4. ユーザーの追加と設定

OData エンドポイントへの安全なアクセスを許可するために、CData API Server でユーザーを作成・設定する必要があります。各ユーザーには認証情報とロールベースのアクセス制御があり、承認されたユーザーのみが接続されたデータをクエリできるようになります。

  1. ナビゲーションペインから「Users」に移動し、右上の Add User をクリックします。
  2. Username を入力し、ユーザーの安全な Password を設定します。
  3. Role を選択します:
    • Admin: 設定や接続を含むすべての機能へのフルアクセス。
    • Query: API エンドポイント経由のデータアクセスに限定(Slingshot での使用に適しています)。
  4. (オプション)レート制限を設定:
    • Requests Per Hour: 1 時間あたりの許可される API コール数(デフォルト:1000)。
    • Max Concurrent Requests: 許可される並列 API リクエスト数(デフォルト:10)。
  5. ユーザーの Privileges を定義:
    • GET: データの取得を許可。
    • POST: 新しいレコードの作成を許可。
    • PUT, MERGE, PATCH: 既存レコードの更新を許可。
    • DELETE: レコードの削除を許可。
  6. 「Add User」をクリックしてユーザーアカウントを保存し、有効化します。

ユーザーが作成されると、Authtoken が自動的に生成されます。このトークンは、パスワードの代わりに安全な認証方法として API リクエストで使用できます。

また、Authtoken を更新したり、無効にしたり、ユーザー設定で Token Expiration オプションを有効にして有効期限ルール(例:有効期限までの日数)を設定することもできます。


1.5. エンドポイント用のテーブルを追加

OData 経由で Slingshot にデータを利用できるようにするには、API Server を通じて目的のテーブルを公開する必要があります。

  1. CData API Server で、左側のナビゲーションから「API」に移動し、右上の Add Table をクリックします。
  2. 先ほど設定した Amazon Athena 接続を選択し、「Next」をクリックします。
  3. Tables セクションを展開して、利用可能なエンティティとスキーマを参照します。個々のテーブルを選択するか、上部の TABLE NAME チェックボックスをクリックしてすべてを選択します。次に「Confirm」をクリックします。

1.6. Slingshot でエンドポイントにアクセス・使用

API の設定が完了したので、Slingshot から OData エンドポイントに接続してライブデータを可視化できます。以下のエンドポイント URL 形式を使用して API リソースにアクセスします。

エンドポイント   URL
エンティティ一覧 http://address:port/api.rsc/
テーブルメタデータ(例:albums) http://address:port/api.rsc/albums/$metadata?@json
テーブルデータ(例:albums) http://address:port/api.rsc/albums

これらの OData エンドポイントは、URL を使用して新しいデータソースを作成することで Slingshot で直接利用できるようになりました。Slingshot は OData をサポートしているため、接続後は Amazon Athena からのライブデータを使用してダッシュボードやビジュアライゼーションを構築できます。

Slingshot でのカスタムクエリやフィルターされたビジュアライゼーションには、$select$filter$orderby$top$skip などの標準 OData クエリパラメータをリクエストに追加できます。


ステップ 2:Slingshot で Amazon Athena エンドポイントに接続してデータを分析

OData API の準備ができたので、Slingshot に取り込んでライブAmazon Athena のデータの分析を開始しましょう。

2.1 OData エンドポイントをデータソースとして追加

  1. デスクトップアプリを使用するか、https://my.slingshotapp.io/ にアクセスして Slingshot アカウントにログインします。
  2. 左側のパネルで「My Analytics」に移動します。上部の「Data Source」をクリックし、右上の Data Source をクリックします。
  3. OData Feed を検索し、結果から選択します。
  4. URL フィールドに、CData API Server からの OData エンドポイント URL を入力します。CData API Server ダッシュボードの右上にある API > View Endpoints に移動して確認できます。
  5. Credentials をクリックし、ドロップダウンから Credential ボタンを選択します。
  6. CData API Server で作成したユーザーの UsernamePassword または Auth Token を入力します。「Add」をクリックし、次に「Add Data Source」をクリックして完了します。
  7. 接続された OData Feed をクリックし、目的のテーブルを選択して「Select Data」をクリックして分析を開始します。

2.2 データの分析

OData フィードが接続され、Slingshot で利用可能になったので、リアルタイムでデータを探索・分析するためのビジュアライゼーションを作成できます。

この例では、シンプルな Grid ビジュアライゼーションを構築してみましょう。

  1. Column ドラッグアウトパネルをクリックし、Grid を選択します。
  2. テーブルから目的のカラムを Grid にドラッグ&ドロップします。Slingshot はそれらのフィールドを使用してライブデータビューを自動的に作成します。

同様に、パネルから適切なコンポーネントを選択することで、チャート、テーブル、ピボットビューなどのさまざまなビジュアライゼーションを作成できます。必要に応じてドラッグ、ドロップ、設定して、複数の角度からデータを探索できます。

必要に応じてフィルターを適用したり、値をソートしたり、行をグループ化したりして、データをさらに操作できます。ライブ Amazon Athena のデータ に接続された OData フィードからのデータを使用して、ダッシュボードを思い通りにカスタマイズする可能性は無限大です。


CData API Server を 30 日間無料でお試しください

CData API Server は、270 以上のライブデータソースから REST API を構築する最速の方法を提供します。リアルタイムアプリ統合に対応したノーコード/ローコードのプラグアンドプレイアプローチです!

無料トライアルを開始して、Slingshot などのツールと即座に接続しましょう。チームがデータにアクセスし、データを活用する方法を今日から簡素化できます。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ