Apache Iceberg™ 이진 열을 최대 크기로 제한(미리 보기)¶
Apache Iceberg™ 테이블에서의 열에 대한 이진 데이터 타입을 지정하는 경우 열은 항상 Iceberg 이진 데이터 타입에 매핑됩니다.
- 변경 전:
연결된 최대 길이가 L인 Iceberg 테이블의 새 열에 대한
binary(L)데이터 타입을 지정할 수 있습니다.binary(L)데이터 타입은 Iceberg 이진 데이터 타입 대신fixed(L)데이터 타입에 매핑됩니다. 또한, Icebergfixed(L)데이터 타입에도 매핑되는 새로운 정형 타입 열의 키와 요소에 대해 이진(L) 데이터 타입을 지정할 수 있습니다. CTAS 문의 경우, 소스 테이블의binary(L)열과 새 테이블의binary(L)열이 생성됩니다.- 변경 후:
Iceberg 테이블에서는
binary data타입을 이진 또는binary(67108864)`로 지정해야 합니다. 이 요구 사항은 새 열을 생성하거나 정형 타입 열의 키 또는 요소를 정의할 때 적용됩니다. 두 타입 모두 Iceberg 이진 데이터 타입에 매핑됩니다. CTAS 문의 경우, 소스 테이블의 :code:`binary(L)열과 새 테이블의binary(67108864)열이 생성됩니다. 이 변경 사항은 새 테이블과 기존 테이블의 새 열에만 영향을 줍니다.
이 동작 변경은 Iceberg 테이블의 Snowflake 이진 열을 최대 길이가 없는 Apache Iceberg™ 테이블 사양의 Iceberg 이진 타입에 맞게 조정하기 위해 도입되었습니다. 이 변경 사항으로 인해 Iceberg 사양과 충돌하고 외부 엔진과의 상호 운용성 문제를 일으킬 수 있는 모호한 binary(L) 정의가 제거됩니다. 예를 들어, 변경하기 전에 :code:`binary(10)`와 같이 연결된 최대 길이가 있는 이진 데이터 타입으로 새 열을 추가할 수 있습니다. 그러면 외부 엔진이 정의된 최대 길이를 초과하는 값을 이 열에 삽입할 수 있습니다.
Ref: 2244