Apache Iceberg™ 테이블과 함께하는 Snowpipe Streaming Classic

Apache Iceberg™ 테이블과 함께하는 Snowpipe Streaming Classic

Snowflake Ingest SDK 버전 3.0.0 이상부터 Snowpipe Streaming은 Snowflake 관리 Apache Iceberg 테이블로 데이터를 수집할 수 있어요. Snowpipe Streaming Ingest Java SDK는 표준 Snowflake 테이블(비-Iceberg)과 Iceberg 테이블 양쪽으로의 로드를 지원합니다.

출처: Snowflake 문서

본문

Snowpipe Streaming API를 통해 보내진 데이터는 하나 이상의 채널을 통해 행을 수집하며, 지정된 MAX_CLIENT_LAG에 따라 자동으로 플러시됩니다. MAX_CLIENT_LAG 속성은 스트리밍 수집의 지연 시간을 제어합니다.

  • 표준 Snowflake 테이블(비-Iceberg)의 기본 MAX_CLIENT_LAG은 1초입니다.
  • Iceberg 테이블의 기본 MAX_CLIENT_LAG은 30초입니다.

Snowflake는 외부 볼륨(external volume)을 사용해 여러분의 스토리지 위치에 연결하고, Snowpipe Streaming은 데이터를 플러시해 해당 Iceberg 메타데이터와 함께 Iceberg 호환 Parquet 데이터 파일을 만듭니다. 이 Parquet 데이터·메타데이터 파일은 구성된 외부 클라우드 스토리지 위치에 업로드되고, Iceberg 카탈로그로 Snowflake에 등록된 Snowflake 관리 Iceberg 테이블로 제공됩니다.

구성

구성된 외부 볼륨으로 Snowflake 관리 Iceberg 테이블 만들기를 수행하고, 열린 채널 요청에서 Iceberg 테이블 이름을 지정하세요. Snowflake 관리 Iceberg 테이블과 함께 Snowpipe Streaming을 활성화하려면 profile.json 파일에서 ENABLE_ICEBERG_STREAMING=true 속성을 설정해야 합니다.

지원되는 데이터 타입

  • Snowflake Ingest SDK는 Snowflake가 현재 지원하는 것과 동일한 대부분의 Iceberg 데이터 타입을 지원합니다. 자세한 내용은 Apache Iceberg™ 테이블용 데이터 타입을 참고하세요.
  • Snowflake Ingest SDK는 세 가지 구조적 데이터 타입(Structured ARRAY, Structured OBJECT, Structured MAP)으로의 수입을 지원합니다.

사용 참고

  • Snowflake 관리 Iceberg 테이블로 스트리밍하는 기본 MAX_CLIENT_LAG은 최적화된 Parquet 파일을 보장하기 위해 30초입니다. 속성을 더 낮은 값으로 설정할 수 있지만, 처리량이 현저히 높지 않다면 그러지 않는 것을 권장합니다.
  • Ingest SDK는 작은 Parquet 파일의 자동 서버리스 컴팩션을 비동기로 지원합니다.
  • 같은 클라이언트 애플리케이션을 Iceberg 테이블과 비-Iceberg 테이블에 동시에 사용할 수 없습니다.
  • Snowflake 관리 Iceberg 테이블은 클라이언트 측 암호화를 지원하지 않습니다.
  • Iceberg 호환 Parquet 파일은 Iceberg 테이블에 지정된 STORAGE_SERIALIZATION_POLICY에 따라 생성됩니다.
  • Snowpipe Streaming은 Iceberg 카탈로그로 Snowflake만 지원하지만, Snowflake Open Catalog와의 동기화도 지원합니다.
  • Snowflake는 외부 볼륨을 사용해 여러분의 스토리지 위치에 연결합니다. Iceberg 테이블의 데이터 스토리지는 여러분의 책임입니다.
  • Iceberg v2 테이블만 지원됩니다. Iceberg v3 테이블은 지원되지 않아요. Iceberg v3 테이블에서 Snowpipe Streaming을 사용하려면 고성능 아키텍처의 Snowpipe Streaming을 사용해야 합니다.

제한 사항

Snowpipe Streaming 제한 사항과 Iceberg 테이블 제한 사항이 Iceberg 테이블과 함께하는 Snowpipe Streaming에도 적용됩니다.

더 알아보기 (Learn more)