개요

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