

慎重に検討した結果、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-with-exp-create-app"></a>

このセクションでは、Amazon Kinesis Data Analytics アプリケーションを作成し、「[ステップ 1: データを準備する](app-anomaly-with-ex-prepare.md)」でストリーミングソースとして作成した Kinesis データストリームを使用するように設定します。`RANDOM_CUT_FOREST_WITH_EXPLANATION` 関数を使用するアプリケーションコードを実行します。

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

1. Kinesis コンソール ([https://console.aws.amazon.com/kinesis](https://console.aws.amazon.com/kinesis)) を開きます。

1. ナビゲーションペインで、[**データ分析**]、[**アプリケーションの作成**] の順に選択します。

1. アプリケーション名と説明 (オプション) を指定して、[**Create application**] を選択します。

1. [**ストリーミングデータの接続**] を選択し、リストから [**ExampleInputStream**] を選択します。

1. [**スキーマの検出**] を選択して、`INTEGER` 列として `Systolic` および `Diastolic` が表示されていることを確認します。別のタイプがある場合は、[**Edit schema**] を選択し、`INTEGER` タイプを両方に割り当てます。

1. [**Real time analytics**] の下で、[**Go to SQL editor**] を選択します。プロンプトが表示されたら、アプリケーションの実行を選択します。

1. 次のコードを SQL エディタに貼り付けて、[**Save and run SQL**] を選択します。

   ```
   --Creates a temporary stream.
   CREATE OR REPLACE STREAM "TEMP_STREAM" (
   	        "Systolic"                  INTEGER,
   	        "Diastolic"                 INTEGER,
   	        "BloodPressureLevel"        varchar(20),
   	        "ANOMALY_SCORE"             DOUBLE,
   	        "ANOMALY_EXPLANATION"       varchar(512));
   
   --Creates another stream for application output.	        
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
   	        "Systolic"                  INTEGER,
   	        "Diastolic"                 INTEGER,
   	        "BloodPressureLevel"        varchar(20),
   	        "ANOMALY_SCORE"             DOUBLE,
   	        "ANOMALY_EXPLANATION"       varchar(512));
   
   -- Compute an anomaly score with explanation for each record in the input stream
   -- using RANDOM_CUT_FOREST_WITH_EXPLANATION
   CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
      INSERT INTO "TEMP_STREAM"
         SELECT STREAM "Systolic", "Diastolic", "BloodPressureLevel", ANOMALY_SCORE, ANOMALY_EXPLANATION 
         FROM TABLE(RANDOM_CUT_FOREST_WITH_EXPLANATION(
                 CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001"), 100, 256, 100000, 1, true));
   
   -- 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;
   ```

**次のステップ**  
[ステップ 3: 結果の検証](examine-results-with-exp.md)