

慎重に検討した結果、Amazon Kinesis Data Analytics for SQL アプリケーションを中止することにしました。

1. **2025 年 9 月 1** 日以降、Amazon Kinesis Data Analytics for SQL アプリケーションのバグ修正は提供されません。これは、今後の廃止によりサポートが制限されるためです。

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

3. **2026 年 1 月 27 日**以降、アプリケーションは削除されます。Amazon Kinesis Data Analytics for SQL アプリケーションを起動することも操作することもできなくなります。これ以降、Amazon Kinesis Data Analytics for SQL のサポートは終了します。詳細については、「[Amazon Kinesis Data Analytics for SQL アプリケーションのサポート終了](discontinuation.md)」を参照してください。

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

# ステップ 2: アプリケーションの作成
<a name="app-anom-score-create-app"></a>

このセクションでは、次のように Amazon Kinesis Data Analytics アプリケーションを作成します。
+ [ステップ 1: 準備](app-anomaly-prepare.md) で作成した Kinesis データストリームをストリーミングソースとして使用するように、アプリケーション入力を設定します。
+ コンソールで [**異常検出**] テンプレートを使用します。

**アプリケーションを作成するには**

1. Kinesis Data Analytics の**開始方法**の実習のステップ 1、2、および 3 (「[ステップ 3.1: アプリケーションの作成](get-started-create-app.md)」を参照) に従います。
   + ソース設定で、以下を実行します。
     + 前のセクションで作成したストリーミングソースを指定します。
     + コンソールがスキーマを推測した後、スキーマを編集し、`heartRate` 列の型を `INTEGER` に設定します。

       心拍値のほとんどは正常で、検出プロセスはこの列に `TINYINT` 型を割り当てることがほとんどです。ただし、低い割合で値が高い心拍数を示します。これらの高い値が `TINYINT` 型に合わない場合、Kinesis Data Analytics はそれらの列をエラーストリームに送ります。データ型を `INTEGER` に更新して、生成された心拍数データのすべてに対応できるようにします。
   + コンソールで [**異常検出**] テンプレートを使用します。次にテンプレートコードを更新して適切な列名を指定します。

1. 列名を指定してアプリケーションコードを更新します。その結果アプリケーションコードは次のようになります (このコードを SQL エディタに貼り付けます)。

   ```
   --Creates a temporary stream.
   CREATE OR REPLACE STREAM "TEMP_STREAM" (
   	        "heartRate"        INTEGER,
   	        "rateType"         varchar(20),
   	        "ANOMALY_SCORE"    DOUBLE);
   
   --Creates another stream for application output.	        
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
   	        "heartRate"        INTEGER,
   	        "rateType"         varchar(20),
   	        "ANOMALY_SCORE"    DOUBLE);
   
   -- Compute an anomaly score for each record in the input stream
   -- using Random Cut Forest
   CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
      INSERT INTO "TEMP_STREAM"
         SELECT STREAM "heartRate", "rateType", ANOMALY_SCORE 
         FROM TABLE(RANDOM_CUT_FOREST(
                 CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001")));
   
   -- Sort records by descending anomaly score, insert into output stream
   CREATE OR REPLACE PUMP "OUTPUT_PUMP" AS 
      INSERT INTO "DESTINATION_SQL_STREAM"
         SELECT STREAM * FROM "TEMP_STREAM"
         ORDER BY FLOOR("TEMP_STREAM".ROWTIME TO SECOND), ANOMALY_SCORE DESC;
   ```

   

1. SQL コードを実行して Kinesis Data Analytics コンソールで結果を確認します。  
![\[アプリケーション内ストリームに結果のデータを含んだリアルタイム分析タブを表示するコンソールのスクリーンショットです。\]](http://docs.aws.amazon.com/ja_jp/kinesisanalytics/latest/dev/images/anom-v2-40.png)





**次のステップ**  
[ステップ 3: アプリケーション出力を設定する](app-anomaly-create-ka-app-config-destination.md)