Background
- Athena query 로 Glue catalog 에 관리 중인 Table 의 모든 Partition 을 제거 하고 싶었다.
- 그러나 기능적으로 전체 파티션을 DROP 하는 명령은 지원하지 않는다고 한다.
- 하지만! 파티션 이름을 잘못 지정하고 DROP 명령어를 사용하면 모든 파티션이 DROP 되는 이슈가 있다고 한다.
Athena - Partition DROP
- Database: my_db
- Table: my_table
- Partition list: year, month, day
- 위와 같은 조건일 때 Partition list 에 존재하는 필드명으로 DROP 명령어를 사용하면 필터링 조건에 맞는 Partition 만 삭제 되고, 전체 Partition 을 DROP 하는 기능은 지원하지 않는다.
- 단, 아래 명령어와 같이 Partition list 에 없는 이상한 필드 명으로 DROP 명령어를 사용하면 기존에 있던 모든 파티션이 DROP 된다.
ALTER TABLE my_db.my_table DROP PARTITION (abcd = '*');

- 나름의 버그인데 우선 필요할 때 이렇게 사용해 보았다.
Origin Docs