例: Kinesis Data Analytics アプリケーションにリファレンスデータを追加する - Amazon Kinesis Data Analytics 開発者ガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

例: Kinesis Data Analytics アプリケーションにリファレンスデータを追加する

この実習では、既存の Amazon Kinesis Data Analytics アプリケーションにリファレンスデータを追加します。リファレンスデータについては、次のトピックを参照してください。

この実習では、Kinesis Data Analytics で作成したアプリケーションにリファレンスデータを追加します。開始方法演習 リファレンスデータは、各ティッカーシンボルの会社名を提供します。次に例を示します。

Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC

まず、使用開始の演習のステップを完了してスターターアプリケーションを作成します。次に、以下のステップに従ってリファレンスデータを設定し、アプリケーションに追加します。

  1. データを準備する

    • 上記のリファレンスデータを Amazon Simple Storage Service (Amazon S3) にオブジェクトとして保存します。

    • ユーザーに代わって Amazon S3 オブジェクトを読み取るためにKinesis Data Analytics が引き受けることができる IAM ロールを作成します。

  2. アプリケーションにリファレンスデータソースを追加します。

    Kinesis Data Analytics は Amazon S3 オブジェクトを読み取り、アプリケーションコードでクエリできるアプリケーション内リファレンステーブルを作成します。

  3. コードをテストします。

    アプリケーションコード内に、アプリケーション内ストリームをアプリケーション内リファレンステーブルに結合して各ティッカーシンボルの会社名を取得する結合クエリを作成できます。

ステップ 1: Prepare

このセクションでは、サンプルのリファレンスデータを Amazon S3 バケットにオブジェクトとして保存します。また、ユーザーに代わって Kinesis Data Analytics がオブジェクトを読み込むために引き受けることができる IAM ロールを作成します。

Amazon S3 オブジェクトとしてのリファレンスデータの保存

このステップでは、サンプルのリファレンスデータを Amazon S3 オブジェクトとして保存します。

  1. テキストエディタを開き、以下のデータを追加して、ファイルを TickerReference.csv として保存します。

    Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC

  2. TickerReference.csv ファイルを S3 バケットにアップロードします。手順については、以下を参照してください。Amazon S3 へのオブジェクトのアップロード()Amazon Simple Storage Service Console Us

IAM ロールを作成します。

次に、Kinesis Data Analytics が Amazon S3 オブジェクトを引き受け、読み取ることができる IAM ロールを作成します。

  1. EclipseAWS Identity and Access Management(IAM) で、KinesisAnalytics-ReadS3Object。ロールを作成するには、」Amazon サービス用のロールの作成 (AWS Management Console)()IAM ユーザーガイド

    IAM コンソールで、以下を指定します。

    • を使用する場合ロールタイプを選択します。] で、[AWS Lambda。ロールの作成が完了したら、Kinesis Data Analytics (AWS Lambda) がロールを引き受けることができます。

    • [Attach Policy] ページでポリシーをアタッチしないでください。

  2. IAM ロールポリシーを更新します。

    1. IAM コンソールで、作成したロールを選択します。

    2. リポジトリの []信頼関係タブで、信頼ポリシーを更新してロールを引き受ける権限を Kinesis Data Analytics に付与します。以下に信頼ポリシーを示します。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    3. リポジトリの []アクセス許可タブで、Amazon 管理ポリシーをAmazonS3ReadOnlyAccess。これにより、Amazon S3 オブジェクトを読み取るアクセス権限をロールに付与します。このポリシーを以下に示します。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*" } ] }

ステップ 2: アプリケーション設定へのリファレンスデータソース追する

このステップでは、リファレンスデータソースをアプリケーション設定に追加します。最初に、次の情報が必要です。

  • S3 バケット名およびオブジェクトキー名

  • IAM ロール Amazon リソースネーム (ARN)

  1. アプリケーションのメインページで [Connect reference data (リファレンスデータの接続)] を選択します。

  2. 参照データソースをConnectページで、リファレンスデータオブジェクトを含む Amazon S3 バケットを選択し、オブジェクトのキー名を入力します。

  3. EnterCompanyName向けのアプリケーション内リファレンステーブル名

  4. [Access to chosen resources (選択したリソースへのアクセス)] セクションで、[Choose from IAM roles that Kinesis Analytics can assume (Kinesis Analytics が引き受ける IAM ロール)] を選択後、前のセクションで作成した IAM ロール [KinesisAnalytics-ReadS3Object] を選択します。

  5. [Discover schema (スキーマの検出)] を選択します。コンソールによって、リファレンスデータの 2 つの列が検出されます。

  6. [Save and close (保存して閉じる)] を選択します。

ステップ 3: テスト: アプリケーション内リファレンステーブルをクエリする

アプリケーション内リファレンステーブル CompanyName をクエリできるようになりました。ティッカー価格データをリファレンステーブルに結合することにより、リファレンス情報を使用してアプリケーションを強化できます。結果に会社名が表示されます。

  1. アプリケーションコードを以下に置き換えます。クエリはアプリケーション内入力ストリームをアプリケーション内リファレンステーブルと結合します。アプリケーションコードは、結果を別のアプリケーション内ストリーム、DESTINATION_SQL_STREAM に書き込みます。

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), "Company" varchar(20), sector VARCHAR(12), change DOUBLE, price DOUBLE); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, "c"."Company", sector, change, price FROM "SOURCE_SQL_STREAM_001" LEFT JOIN "CompanyName" as "c" ON "SOURCE_SQL_STREAM_001".ticker_symbol = "c"."Ticker";
  2. アプリケーション出力が [SQLResults] タブに表示されていることを確認します。一部の行に会社名が表示されることを確認します (サンプルのリファレンスデータには、すべての会社名はありません)。