2022년 1월 27일 목요일

[ AWS ] Lambda함수에서 Athena Table Repartition

 

[ 1. Athena Table Create ] 

테이블 생성 후

-- 설정된 파티션 보기

show partitions test_db.table_name;


-- 해당 파티션의 S3 location 보기

describe formatted test_db.table_name partition (partition_column='123123');



[ 2. Lambda 함수 작성 ]

람다 아테나 쿼리 실행 참조 : 

https://medium.com/dataseries/automating-athena-queries-from-s3-with-python-and-save-it-as-csv-8917258b1045

S3 트리거를 이용하여 Lambda 함수 호출 :

https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-example.html



[ 3. Lambda Role 설정 ]

람다함수 -> 구성 -> 권한 -> 실행역활의 Role 정책 추가

AmazonS3FullAccess

AmazonAthenaFullAccess

CloudWatchLambdaInsightsExecutionRolePolicy



[ 4. 실행 테스트 ]

로그는 CloudWatch, Athena log(S3에 저장하도록 설정) 에서 확인


Insufficient Lake Formation permission 에러가 나온다면

LakeFormation -> permissions -> data lake permissions에서 

쿼리적용할 테이블에 대한 iam user 권한 설정


댓글 없음:

댓글 쓰기