View a markdown version of this page

스트리밍 테이블 전송 작동 방식 - Amazon Kinesis Data Streams

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

스트리밍 테이블 전송 작동 방식

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

전송 작동 방식

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

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

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

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

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

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

레코드 변환

스트리밍 테이블 전송에는 스키마 레지스트리에 등록된 AWS Glue 스키마가 필요합니다. 전송은 스키마를 사용하여 수신 레코드를 Apache Iceberg 테이블 스키마로 변환합니다. 다음과 같은 입력 레코드 형식을 지원합니다.

  • JSON - 일반 JSON 레코드입니다. 스키마 레지스트리에 등록된 스키 AWS Glue 마를 참조GSRSchemaARN하는를 제공합니다.

  • GSR_JSON - 스키마 레지스트리 직렬 변환기에서 각 레코드에 스키 AWS Glue 마 ID가 포함된 JSON 레코드입니다. 스키마는 AWS Glue 스키마 레지스트리에서 자동으로 확인됩니다.

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

대상 테이블

스트리밍 테이블 전송을 생성하면 Amazon Kinesis Data Streams는 지정한 S3 테이블 버킷에 대상 Iceberg 테이블을 생성합니다. 다음을 제공합니다.

  • 테이블 버킷 ARN - 테이블이 생성되는 S3 테이블 버킷의 ARN입니다.

  • 네임스페이스 - 테이블의 네임스페이스입니다.

  • 테이블 이름 - 생성할 테이블의 이름입니다. 각 전송은 자체 테이블을 생성합니다. 기존 테이블로 전송할 수 없습니다.

  • 파티션 열 - 테이블을 시간별로 분할하는 데 사용되는 timestamptz 열입니다. 파티셔닝 요구 사항은 섹션을 참조하세요스트리밍 테이블의 Iceberg 동작.

데이터 최신성

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

Dead Letter Queue(DLQ)

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

암호화(Encryption)

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

중요

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

교차 계정 및 교차 리전 전송

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