

신중한 고려 후 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) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 애플리케이션 코드
<a name="how-it-works-app-code"></a>

애플리케이션 코드는 입력을 처리하고 출력을 생성하는 일련의 SQL 문입니다. 이 SQL 문은 애플리케이션 내 스트림과 참조 표로 운영됩니다. 자세한 설명은 [Amazon Kinesis Data Analytics for SQL 애플리케이션: 작동 방식](how-it-works.md) 섹션을 참조하십시오.

Kinesis Data Analytics에서 지원되는 SQL 언어 요소에 대한 자세한 설명은 [Amazon Kinesis Data Analytics SQL 참조](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html)를 참조하십시오.

관계형 데이터베이스에서 INSERT 문을 통해 레코드를 추가하고 SELECT 문을 통해 데이터를 쿼리하는 표 작업을 수행합니다. Amazon Kinesis Data Analytics에서는 스트림을 사용합니다. SQL 문을 작성하여 이들 스트림을 쿼리할 수 있습니다. 하나의 애플리케이션 내 스트림을 쿼리한 결과는 항상 또 다른 애플리케이션 내 스트림으로 전송됩니다. 복잡한 분석을 수행할 때는 여러 개의 애플리케이션 내 스트림을 생성하여 중간 분석 결과를 유지할 수 있습니다. 그리고 끝으로 최종 분석 결과를(하나 이상의 애플리케이션 내 스트림으로부터) 외부 대상에 유지하도록 애플리케이션 출력을 구성합니다. 요약하자면, 애플리케이션 코드 작성의 일반적인 패턴은 다음과 같습니다.
+ INSERT 문 맥락에서는 항상 SELECT 문이 사용됩니다. 즉, 행을 선택할 때 결과를 다른 애플리케이션 내 스트림에 삽입합니다.
+ 펌프 맥락에서는 항상 INSERT 문이 사용됩니다. 즉, 펌프를 사용하여 애플리케이션 내 스트림에 작성합니다.



다음 예 애플리케이션 코드는 하나의 애플리케이션 내 스트림(SOURCE\_SQL\_STREAM\_001)으로부터 레코드를 읽고 이를 또 다른 애플리케이션 내 스트림(DESTINATION\_SQL\_STREAM)에 기록합니다. 다음과 같이 펌프를 사용하여 레코드를 애플리케이션 내 스트림에 삽입할 수 있습니다.

```
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), 
                                                   change DOUBLE, 
                                                   price DOUBLE);
-- Create a pump and insert into output stream.
CREATE OR REPLACE PUMP "STREAM_PUMP" AS 

  INSERT INTO "DESTINATION_SQL_STREAM" 
    SELECT STREAM ticker_symbol, change,price
    FROM   "SOURCE_SQL_STREAM_001";
```

**참고**  
스트림 명칭 및 열 명칭에 대해 지정하는 식별자는 표준 SQL 규칙에 따릅니다. 예를 들어 식별자 앞뒤로 따옴표를 사용하는 경우 식별자는 대소문자를 구분합니다. 따옴표를 사용하지 않는 경우에는 기본적으로 식별자는 대문자입니다. 식별자에 대한 자세한 설명은 *Amazon Managed Service for Apache Flink SQL 참조*에서 [식별자](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-identifiers.html)를 참조하십시오.

애플리케이션 코드는 복수의 SQL 문으로 구성될 수 있습니다. 예시:
+ 한 SQL 문의 결과가 다음 SQL 문으로 전달되는 경우 SQL 쿼리를 순차적으로 작성할 수 있습니다.
+ 서로 독립적으로 실행하는 SQL 문도 작성할 수 있습니다. 예를 들어, 동일한 애플리케이션 내 스트림을 쿼리하지만 다른 애플리케이션 내 스트림으로 출력을 전송하는 두 개의 SQL 문을 작성할 수 있습니다. 그런 다음 새로 생성된 애플리케이션 내 스트림을 독립적으로 쿼리할 수 있습니다.

애플리케이션 내 스트림을 생성하여 중간 결과를 저장할 수 있습니다. 펌프를 사용하여 데이터를 애플리케이션 내 스트림에 삽입합니다. 자세한 설명은 [애플리케이션 내 스트림과 펌프](streams-pumps.md) 섹션을 참조하십시오.

애플리케이션 내 참조 표를 추가하는 경우 SQL을 작성하여 애플리케이션 내 스트림 및 참조 표에 있는 데이터를 조인할 수 있습니다. 자세한 설명은 [예: 참조 데이터를 Kinesis Data Analytics 애플리케이션에 추가](app-add-reference-data.md) 섹션을 참조하십시오.

애플리케이션의 출력 구성에 따라 Amazon Kinesis Data Analytics는 특정 애플리케이션 내 스트림으로부터 외부 목적지로 데이터를 기록합니다. 애플리케이션 코드가 출력 구성에 지정된 애플리케이션 내 스트림으로 기록하는지 확인합니다.

자세한 정보는 다음 주제를 참조하십시오:
+  [스트리밍 SQL 개념](streaming-sql-concepts.md)
+ [Amazon Kinesis Data Analytics SQL 참조](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html)