안녕하세요.
현재 Athena를 이용해 S3 기반 Iceberg 테이블을 Glue Data Catalog와 함께 사용하고 있습니다.
테이블은 다음과 같이 파티셔닝 되어 있습니다
PARTITIONED BY (day(date), bucket(100, model_code))
데이터 양 증가에 따라 bucket(100)을 bucket(200)으로 변경하거나,
bucket() 파티션 자체를 제거하고 싶은 상황입니다.
하지만 아래 문서에 따르면, Athena의 Iceberg 테이블은 다음과 같은 파티션 관련 DDL을 지원하지 않는다고 명시되어 있습니다:
SHOW PARTITIONS
ALTER TABLE ADD/DROP/RENAME PARTITION
ALTER TABLE REPLACE PARTITION FIELD
해당 문서에서는 Iceberg의 Hidden Partitioning 기능이 있기 때문에,
이러한 DDL 작업이 필요 없어서 지원하지 않는다고 설명하고 있는데요,
제가 이해하기로는 Iceberg의 Partition Transforms (bucket, day, truncate 등)은
성능/비용에 영향을 주는 중요한 설계 요소로,
운영 상황에 따라 변경이 필요한 경우도 있다고 알고 있습니다.
질문을 요약하자면,
-
Iceberg 자체는 partition spec 변경을 지원하는데, Athena에서만 이를 지원하지 않는 이유가 기술적 구현 미비인지, 아니면 설계 철학 상 의도적으로 막아놓은 것인지 궁금합니다.
-
향후 Athena에서도 ALTER TABLE REPLACE PARTITION FIELD와 같은 Iceberg DDL 기능을 지원할 계획이 있는지 알고 싶습니다.