athena에는 delete기능이 없다. 하지만 ctas를 사용해 동일한 결과를 만들어낼 수 있다.
이렇게 ctas를 사용하게 될 경우를 대비해 partition 또는 index에 version이 포함되어 있으면 후에 작업시 편리하다.
그냥 ctas 쿼리 잘까먹어서 남김용
실행시키고 싶은 쿼리가 아래와 같은 경우에 대해 예제 진행
DELETE FROM delete_test WHERE search_key = 20210606
위에 언급한 것 처럼 athena는 delete가 없기 때문에 다른 방식으로 진행하여야 한다.
ctas 쿼리에서 제거하고 싶은 조건을 제외한 결과가 나오도록 한다.
CREATE TABLE sampledb.bucketing_temp_test
WITH (
format = 'Parquet',
parquet_compression = 'SNAPPY',
external_location = 's3://my-bucket/myapp/2022/06/27/1016/2/',
bucketed_by = ARRAY['update_datetime'],
bucket_count = 1)
AS SELECT *
FROM delete_test
where search_key != 20210606