

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

# 스트리밍 테이블 전송 작동 방식
<a name="data-delivery-st-about"></a>

 이 주제를 사용하여 Amazon Kinesis Data Streams 스트림의 레코드를 레코드 변환, 대상 테이블 생성, 파티셔닝, 데이터 신선도, 배달 못한 편지 대기열, 암호화 등 S3 테이블 버킷이 지원하는 Apache Iceberg의 스트리밍 테이블로 전송하는 방법을 알아봅니다.

## 전송 작동 방식
<a name="data-delivery-st-how-it-works"></a>

 스트리밍 테이블 전송은 다음 단계에 따라 Apache Iceberg의 스트리밍 테이블에 레코드를 전송합니다.

1.  **읽기** - 전송은 Kinesis Data Streams 스트림의 모든 샤드에서 레코드를 읽습니다.

1.  **버퍼** - 전송 버퍼는 데이터 새로 고침 간격에 도달할 때까지 레코드를 기록합니다.

1.  **검증 및 변환** - 전송은 AWS Glue 스키마 레지스트리의 스키마에 대해 각 레코드를 검증하고 Apache Iceberg 테이블 스키마로 변환합니다. 검증에 실패한 레코드는 배달 못한 편지 대기열로 이동합니다.

1.  **압축 및 쓰기** - 전송은 인라인 압축을 사용하여 레코드를 최적화된 Apache Parquet 파일로 변환하고 대상 Iceberg 테이블에 기록합니다.

1.  **커밋** - 전송이 Iceberg 테이블에 새 파일을 커밋하여 데이터를 쿼리할 수 있습니다.

## 레코드 변환
<a name="data-delivery-st-record-conversion"></a>

 스트리밍 테이블 전송에는 스키마 레지스트리에 등록된 AWS Glue 스키마가 필요합니다. 전송은 스키마를 사용하여 수신 레코드를 Apache Iceberg 테이블 스키마로 변환합니다. 다음과 같은 입력 레코드 형식을 지원합니다.
+ **JSON** - 일반 JSON 레코드입니다. 스키마 레지스트리에 등록된 스키 AWS Glue 마를 참조`GSRSchemaARN`하는를 제공합니다.
+ **GSR\_JSON** - 스키마 레지스트리 직렬 변환기에서 각 레코드에 스키 AWS Glue 마 ID가 포함된 JSON 레코드입니다. 스키마는 AWS Glue 스키마 레지스트리에서 자동으로 확인됩니다.

 전체 AWS Glue 스키마 레지스트리에서 Iceberg 유형 매핑 및 필드 처리 규칙은 섹션을 참조하세요[스트리밍 테이블의 Iceberg 동작](data-delivery-st-iceberg.md).

## 대상 테이블
<a name="data-delivery-st-destination-table"></a>

 스트리밍 테이블 전송을 생성하면 Amazon Kinesis Data Streams는 지정한 S3 테이블 버킷에 대상 Iceberg 테이블을 생성합니다. 다음을 제공합니다.
+ **테이블 버킷 ARN** - 테이블이 생성되는 S3 테이블 버킷의 ARN입니다.
+ **네임스페이스** - 테이블의 네임스페이스입니다.
+ **테이블 이름** - 생성할 테이블의 이름입니다. 각 전송은 자체 테이블을 생성합니다. 기존 테이블로 전송할 수 없습니다.
+ **파티션 열** - 테이블을 시간별로 분할하는 데 사용되는 `timestamptz` 열입니다. 파티셔닝 요구 사항은 섹션을 참조하세요[스트리밍 테이블의 Iceberg 동작](data-delivery-st-iceberg.md).

## 데이터 최신성
<a name="data-delivery-st-data-freshness"></a>

 데이터 신선도는 레코드가 전달되기 전의 최대 버퍼링 시간을 정의합니다. 이 값은 300\~900초(5\~15분) 사이에서 구성할 수 있습니다. 기본값은 300초입니다. 값이 작을수록 전송 속도가 빨라지고 값이 높을수록 대상에 더 적고 큰 파일이 생성됩니다.

## Dead Letter Queue(DLQ)
<a name="data-delivery-st-dead-letter-queue"></a>

 스트리밍 테이블 전송에는 배달 못한 편지 대기열이 필요합니다. 검증에 실패한 레코드에 대한 정보를 수신하는 Amazon S3 버킷을 지정합니다. 버킷 ARN, 예상 버킷 소유자 및 선택적 오류 출력 접두사를 제공합니다. 배달 못한 편지 대기열에는 전체 레코드 페이로드가 아닌 레코드 식별자 및 오류 컨텍스트가 포함되어 있습니다.

## 암호화(Encryption)
<a name="data-delivery-st-encryption"></a>

 스트리밍 테이블 전송은 Amazon S3에서 전송된 저장 데이터를 암호화합니다. 기본적으로 데이터는 Amazon S3 관리형 키(SSE-S3)로 암호화됩니다. 대신 고객 관리 AWS KMS 형 키(SSE-KMS)를 사용할 수 있습니다.

**중요**  
 대상 암호화에는 AWS 관리형 키 (`aws/kinesis`별칭)을 사용할 수 없습니다. 고객 관리형 AWS KMS 키를 사용해야 합니다. 또한 소스 Kinesis 데이터 스트림이 로 암호화된 경우 전송을 생성할 AWS 관리형 키수 없습니다. 소스 스트림 암호화 요구 사항은 섹션을 참조하세요[소스 스트림 암호화](data-delivery-security.md#data-delivery-security-source-stream-encryption). 서비스 실행 역할에 필요한 권한은 섹션을 참조하세요 AWS KMS [데이터 전송을 위한 IAM 권한](data-delivery-iam.md).

## 교차 계정 및 교차 리전 전송
<a name="data-delivery-st-cross-account-region"></a>

 스트리밍 테이블 전송은 교차 계정 또는 교차 리전 전송을 지원하지 않습니다. 소스 스트림, 대상 S3 테이블 버킷 및 AWS Glue 스키마 레지스트리는 모두 동일한 리전 AWS 계정 에 있어야 합니다.