例 : ストリーム上のホットスポットの検出 (HOTSPOTS 関数) - Amazon Kinesis Data Analytics for SQL Applications デベロッパーガイド

慎重に検討した結果、アプリケーションの Amazon Kinesis Data Analytics は 2 つのステップSQLで中止することにしました。

1. 2025 年 10 月 15 日以降、SQLアプリケーションの新しい Kinesis Data Analytics を作成することはできません。

2. 2026 年 1 月 27 日以降、アプリケーションを削除します。SQL アプリケーションの Amazon Kinesis Data Analytics を開始または操作することはできません。SQL それ以降、Amazon Kinesis Data Analytics のサポートは終了します。詳細については、「Amazon Kinesis Data Analytics for SQL Applications の中止」を参照してください。

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

例 : ストリーム上のホットスポットの検出 (HOTSPOTS 関数)

Amazon Kinesis Data Analytics は、データの相対的に高密度なリージョンを検索してその情報を返す HOTSPOTS 関数を提供しています。詳細については、「Amazon Managed Service for Apache Flink SQL リファレンス」の「ホットスポット」を参照してください。

この実習では、アプリケーションのストリーミングソースのホットスポットを見つけるアプリケーションコードを作成します。アプリケーションをセットアップするには、以下のステップを実行します。

  1. ストリーミングソースのセットアップ – Kinesis ストリームをセットアップして、次のようにサンプル座標データを書き込みます。

    {"x": 7.921782426109737, "y": 8.746265312709893, "is_hot": "N"} {"x": 0.722248626528026, "y": 4.648868803193405, "is_hot": "Y"}

    この例では、ストリームに入力するための Python スクリプトを提供しています。x および y 値はランダムに生成され、一部のレコードは特定の場所の周りにクラスター化されます。

    スクリプトがホットスポットの一部として意図的に値を生成した場合、is_hot フィールドはインジケータとして提供されます。これは、ホットスポット検出関数が正常に動作しているかどうかを評価するのに役立ちます。

  2. アプリケーションの作成 – AWS Management Console を使用して Kinesis Data Analytics アプリケーションを作成します。ストリーミングソースをアプリケーション内ストリーム (SOURCE_SQL_STREAM_001) にマッピングして、アプリケーション入力を設定します。アプリケーションが起動すると、Kinesis Data Analytics は継続的にストリーミングソースを読み取り、アプリケーション内ストリームにレコードを挿入します。

    この演習では、アプリケーションに次のコードを使用します。

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "x" DOUBLE, "y" DOUBLE, "is_hot" VARCHAR(4), HOTSPOTS_RESULT VARCHAR(10000) ); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT "x", "y", "is_hot", "HOTSPOTS_RESULT" FROM TABLE ( HOTSPOTS( CURSOR(SELECT STREAM "x", "y", "is_hot" FROM "SOURCE_SQL_STREAM_001"), 1000, 0.2, 17) );

    コードは SOURCE_SQL_STREAM_001 の行を読み取り、重要なホットスポットを分析し、結果のデータを別のアプリケーション内ストリーム (DESTINATION_SQL_STREAM) に書き込みます。ポンプを使用して、アプリケーション内ストリームに行を挿入します。詳細については、「アプリケーション内ストリームとポンプ」を参照してください。

  3. 出力の設定 – アプリケーションから別の Kinesis データストリームである外部送信先にデータを送信するように、アプリケーション出力を設定します。ホットスポットのスコアを確認し、ホットスポットが発生したことを示すスコア (およびアラートが必要なスコア) を判断します。AWS Lambda 関数を使用して、ホットスポット情報をさらに処理し、アラートを設定することができます。

  4. 出力を確認する – この例には、出力ストリームからデータを読み込んでグラフィカルに表示する JavaScript アプリケーションが含まれているので、アプリケーションが生成するホットスポットをリアルタイムで表示できます。

この実習では、米国西部 (オレゴン) (us-west-2) を使用して、これらのストリームとアプリケーションを作成します。他のリージョンも使用する場合は、それに応じてコードを更新してください。