

신중한 고려 끝에 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. [https://console.aws.amazon.com/kinesis](https://console.aws.amazon.com/kinesis)에서 Kinesis 콘솔을 엽니다.

1. 탐색 창에서 **Data Analytics(데이터 분석)**를 선택한 다음 **애플리케이션 생성**을 선택합니다.

1. 애플리케이션 명칭 및 설명(선택 사항)을 입력하고 [**Create application**]을 선택합니다.

1. **스트리밍 데이터 연결**을 선택한 다음 목록에서 **ExampleInputStream**을 선택합니다.

1. [**Discover schema**]를 선택하고 `Systolic` 및 `Diastolic`이 `INTEGER` 열로 나타나는지 확인하십시오. 다른 유형이 있으면 [**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)