PuffinMetadata 형식

PuffinMetadata 형식

PuffinMetadata 형식은 Apache Iceberg Puffin 파일 푸터 메타데이터를 읽는 특수 입력 형식이에요. 푸터 BlobMetadata 목록의 각 블롭 항목마다 행 하나를 출력합니다. deletion-vector-v1이 유일하게 지원되는 블롭 타입입니다.

출처: 문서

본문

설명 (Description)

Apache Iceberg Puffin 파일 푸터 메타데이터를 읽기 위한 특수 입력 형식입니다. 푸터 BlobMetadata 목록의 각 블롭 항목마다 행 하나를 출력합니다.

deletion-vector-v1이 유일하게 지원되는 블롭 타입입니다. 다른 블롭 타입(예: apache-datasketches-theta-v1)을 포함하는 파일은 거부됩니다.

고정 출력 컬럼:

  • blob_type (String) - 블롭 타입. 예: deletion-vector-v1
  • snapshot_id (Int64) - 블롭의 스냅샷 id
  • sequence_number (Int64) - 블롭의 시퀀스 번호
  • fields (Array(Int32)) - 블롭이 적용되는 필드 id 목록
  • offset (Int64) - 파일에서 블롭 페이로드의 오프셋
  • length (Int64) - 블롭 페이로드의 길이(바이트)
  • compression_codec (String) - 있으면 블롭 페이로드의 압축 코덱
  • properties (Map(String, String)) - 블롭별 속성

푸터의 선택적 최상위 FileMetadata.properties(예: created-by)는 있으면 타입 검사되지만 컬럼으로 반환되지는 않습니다. 키가 있으면 문자열 값을 가진 JSON 객체여야 합니다(null은 거부).

LZ4 압축 및 비압축 puffin 푸터가 지원됩니다. 푸터 페이로드 크기(및 선언된 LZ4 콘텐츠 크기)는 해당하는 경우 압축 비율과 절대 상한으로 제한됩니다. 과도하게 큰 푸터는 할당 전에 거부됩니다.

사용 예시 (Example usage)

푸터 블롭 검사:

SELECT blob_type, snapshot_id, sequence_number, offset, length, compression_codec,
       mapKeys(properties), mapValues(properties)
FROM file(deletes.puffin, PuffinMetadata);

Puffin 형식과 함께 사용하여 deletion-vector-v1 블롭 페이로드를 읽을 수 있어요.

더 알아보기 (Learn more)