aws
-
안녕하세요. 주형권입니다. 최근에 계속해서 AWS환경에서 Iceberg를 이용한 데이터 ELT를 하고 있다 보니 AWS 관련하여 많은 것을 하고 있습니다. ELT 파이프라인을 모두 손수 만들다 보니 AWS Iceberg의 테이블에 데이터를 직접적으로 넣기 어려웠고 이런저런 내용을 찾다 보니 awswrangler라는 SDK를 발견하여 소개 하고자 합니다. awswrangler SDK는 복잡하지 않고 단순히 아래의 과정으로 데이터를 Iceberg에 넣습니다. 데이터를 Python에 dataframe 형태로 만들었다가 S3에 parquet로 내리고 그 데이터를 Iceberg에 Import 합니다. 또한 awsrangler는 다음의 파라미터를 받아서 사용합니다. 위에는 굉장히 많은 파라미터가 있는데 저는 저기서..
[AWS] awswrangler안녕하세요. 주형권입니다. 최근에 계속해서 AWS환경에서 Iceberg를 이용한 데이터 ELT를 하고 있다 보니 AWS 관련하여 많은 것을 하고 있습니다. ELT 파이프라인을 모두 손수 만들다 보니 AWS Iceberg의 테이블에 데이터를 직접적으로 넣기 어려웠고 이런저런 내용을 찾다 보니 awswrangler라는 SDK를 발견하여 소개 하고자 합니다. awswrangler SDK는 복잡하지 않고 단순히 아래의 과정으로 데이터를 Iceberg에 넣습니다. 데이터를 Python에 dataframe 형태로 만들었다가 S3에 parquet로 내리고 그 데이터를 Iceberg에 Import 합니다. 또한 awsrangler는 다음의 파라미터를 받아서 사용합니다. 위에는 굉장히 많은 파라미터가 있는데 저는 저기서..
2023.08.07 -
안녕하세요. 주형권입니다. AWS의 boto3를 이용하여 데이터 레이크 운영을 위한 개발을 하던 와중에 제목과 같은 에러를 발견하고 해결 방법에 대해서 정리 하였습니다. 우선 국내 블로그 및 외국 블로그에도 정확하게 나온 곳이 없어서 도움이 될 것 같아서 빠르게 글을 작성 하였습니다. 무엇을 하려고 하였는가? 저희는 AWS 환경에서 데이터레이크를 구축하고 있는 만큼 boto3를 정말 많이 씁니다. 그렇게 하다보니 boto3의 여러가지 기능에 대해서 많이 사용하고 있는데요. 그중에 CloudTrail에 관련하여 boto3를 통해서 데이터를 가져오려고 하였습니다. trail = boto3.client('cloudtrail') boto3에서 CloudTrail을 가져오는 방법이 여러가지가 있는데, 이중에 lo..
[boto3] Your pagination token does not match your request안녕하세요. 주형권입니다. AWS의 boto3를 이용하여 데이터 레이크 운영을 위한 개발을 하던 와중에 제목과 같은 에러를 발견하고 해결 방법에 대해서 정리 하였습니다. 우선 국내 블로그 및 외국 블로그에도 정확하게 나온 곳이 없어서 도움이 될 것 같아서 빠르게 글을 작성 하였습니다. 무엇을 하려고 하였는가? 저희는 AWS 환경에서 데이터레이크를 구축하고 있는 만큼 boto3를 정말 많이 씁니다. 그렇게 하다보니 boto3의 여러가지 기능에 대해서 많이 사용하고 있는데요. 그중에 CloudTrail에 관련하여 boto3를 통해서 데이터를 가져오려고 하였습니다. trail = boto3.client('cloudtrail') boto3에서 CloudTrail을 가져오는 방법이 여러가지가 있는데, 이중에 lo..
2023.07.27 -
안녕하세요. 주형권입니다. 현재 회사에서 AWS 기반의 환경에서 Athena Iceberg(이하 Iceberg)를 이용하여 Data Lake를 구축하고 있습니다. Iceberg 테이블에 데이터를 마이그레이션 하거나 ELT를 할때 다음과 같은 오류가 발생 하여서 간략하게 글을 써봅니다. 무슨 오류가 발생 하였는가? TOO_MANY_OPEN_PARTITIONS : Exceeded limit of 100 open writers for partitions/buckets 다음과 같이 파티션이 100개 이상 쓸 수 없다고 나오는데요. 이는 INSERT 및 UPDATE , MERGE등에서 모두 발생 하였습니다. 어떻게 해결 하였는가? 이 부분은 해결 방법이 없습니다... 공식 홈페이지에 내용이 나오긴 하는데, 단순히..
[Athena] TOO_MANY_OPEN_PARTITIONS안녕하세요. 주형권입니다. 현재 회사에서 AWS 기반의 환경에서 Athena Iceberg(이하 Iceberg)를 이용하여 Data Lake를 구축하고 있습니다. Iceberg 테이블에 데이터를 마이그레이션 하거나 ELT를 할때 다음과 같은 오류가 발생 하여서 간략하게 글을 써봅니다. 무슨 오류가 발생 하였는가? TOO_MANY_OPEN_PARTITIONS : Exceeded limit of 100 open writers for partitions/buckets 다음과 같이 파티션이 100개 이상 쓸 수 없다고 나오는데요. 이는 INSERT 및 UPDATE , MERGE등에서 모두 발생 하였습니다. 어떻게 해결 하였는가? 이 부분은 해결 방법이 없습니다... 공식 홈페이지에 내용이 나오긴 하는데, 단순히..
2023.07.13 -
글을 읽기에 앞서 해당 코드는 python 및 개발 지식이 없는 제가 직접 만든 코드 입니다. 개발자 분이 보시기에 많이 이상 할 수 있습니다. 최적화가 되어 있지 않으며, 코드를 보기에 불편 할 수 있는 점 양해 부탁 드립니다. 1. 수집 조건 모든 Account 내의 S3 Bukcet 수집 2. 수집 내역 아래의 컬럼명은 수정이 가능하며, 기호에 맞게 사용 부탁 드립니다. 계속해서 수정하다 보니 수집하는 명칭이 이상할 수 있습니다. enddate : 수집 일자 account : AWS 계정명 bucket_name : S3 Bucket 명 bucket_region : S3 Bucket의 해당 Region bucket_size_bytes_Av : Bucket 사이즈 (AWS에서 기본적으로 제공하는 siz..
AWS monitoring - Cloud Watch 기반 S3 size 수집글을 읽기에 앞서 해당 코드는 python 및 개발 지식이 없는 제가 직접 만든 코드 입니다. 개발자 분이 보시기에 많이 이상 할 수 있습니다. 최적화가 되어 있지 않으며, 코드를 보기에 불편 할 수 있는 점 양해 부탁 드립니다. 1. 수집 조건 모든 Account 내의 S3 Bukcet 수집 2. 수집 내역 아래의 컬럼명은 수정이 가능하며, 기호에 맞게 사용 부탁 드립니다. 계속해서 수정하다 보니 수집하는 명칭이 이상할 수 있습니다. enddate : 수집 일자 account : AWS 계정명 bucket_name : S3 Bucket 명 bucket_region : S3 Bucket의 해당 Region bucket_size_bytes_Av : Bucket 사이즈 (AWS에서 기본적으로 제공하는 siz..
2019.11.16 -
글을 읽기에 앞서 해당 코드는 python 및 개발 지식이 없는 제가 직접 만든 코드 입니다. 개발자 분이 보시기에 많이 이상 할 수 있습니다. 최적화가 되어 있지 않으며, 코드를 보기에 불편 할 수 있는 점 양해 부탁 드립니다. 1. 수집 조건 Cloud Watch 상에서 하루 평균 CPU가 10%를 넘지 못하는 경우 수집 limit를 조정 가능 합니다. 코드를 수정하면 MAX / MIN으로도 수정 가능 합니다. spot EC2를 수집 하지 않습니다. 2. 수집 내역 아래의 컬럼명은 수정이 가능하며, 기호에 맞게 사용 부탁 드립니다. 계속해서 수정하다 보니 수집하는 명칭이 이상할 수 있습니다. account : AWS 계정명 isinstance_id : EC2의 Instance ID InstanceTy..
AWS monitoring - Cloud Watch 기반 CPU 10%미만 EC2 정보 수집글을 읽기에 앞서 해당 코드는 python 및 개발 지식이 없는 제가 직접 만든 코드 입니다. 개발자 분이 보시기에 많이 이상 할 수 있습니다. 최적화가 되어 있지 않으며, 코드를 보기에 불편 할 수 있는 점 양해 부탁 드립니다. 1. 수집 조건 Cloud Watch 상에서 하루 평균 CPU가 10%를 넘지 못하는 경우 수집 limit를 조정 가능 합니다. 코드를 수정하면 MAX / MIN으로도 수정 가능 합니다. spot EC2를 수집 하지 않습니다. 2. 수집 내역 아래의 컬럼명은 수정이 가능하며, 기호에 맞게 사용 부탁 드립니다. 계속해서 수정하다 보니 수집하는 명칭이 이상할 수 있습니다. account : AWS 계정명 isinstance_id : EC2의 Instance ID InstanceTy..
2019.11.10 -
결론부터 말씀드리면, 대용량의 bucket을 삭제할 때는 만료정책을 1일로 걸어서 파일을 모두 삭제 한 이후에 bucket을 삭제하는 방법이 가장 좋습니다. (AWS에서도 이 방법을 추천하였습니다.) 얼마 전에 2000TB의 대용량 Bucket을 삭제하다가 삭제가 원활하지 못하여, 곤란한 적이 있었습니다. 파일의 개수도 대략 2천만개 이상이여서 엄청나게 삭제 시간이 오래 걸렸습니다. 삭제를 시도한 방법은 2가지 입니다. AWS Console S3 Browser 삭제를 시도하면서 발견한 내용은 다음과 같습니다. 1. 지울때 1,000건씩 지워지는 것으로 보입니다. ( object ) 2. console / S3 Browser에서 Bucket을 삭제 할 경우 console / S3 Browser가 종료될 경..
AWS 대용량 Bucket 삭제결론부터 말씀드리면, 대용량의 bucket을 삭제할 때는 만료정책을 1일로 걸어서 파일을 모두 삭제 한 이후에 bucket을 삭제하는 방법이 가장 좋습니다. (AWS에서도 이 방법을 추천하였습니다.) 얼마 전에 2000TB의 대용량 Bucket을 삭제하다가 삭제가 원활하지 못하여, 곤란한 적이 있었습니다. 파일의 개수도 대략 2천만개 이상이여서 엄청나게 삭제 시간이 오래 걸렸습니다. 삭제를 시도한 방법은 2가지 입니다. AWS Console S3 Browser 삭제를 시도하면서 발견한 내용은 다음과 같습니다. 1. 지울때 1,000건씩 지워지는 것으로 보입니다. ( object ) 2. console / S3 Browser에서 Bucket을 삭제 할 경우 console / S3 Browser가 종료될 경..
2018.06.14 -
이 포스틑 AWS EFS의 공식 문서를 대부분 가져왔습니다. 단, 중간중간에 하다가 막힌 부분에 대해서 추가적으로 설명만 넣어놨습니다. Amazon EFS는 Amazon EC2에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공합니다. EFS 파일 시스템을 만든 후 파일 시스템을 마운트하도록 인스턴스를 구성할 수 있습니다. 하나의 EFS 파일 시스템을 여러 인스턴스에서 실행하는 워크로드 및 애플리케이션에 대한 공통 데이터 소스로 사용할 수 있습니다. storage gateway 와 큰 차이가 없어 보입니다.차이점이라면 storage gateway는 EC2를 올려서 그곳에 DISK를 마운트하여, 그 DISK를 바라보게 하는 방식인 반면에 EFS는 단순하게 만들기만 하면 자동으로 할당이 됩니다. 또한 Po..
EFS ( Elastic File System )이 포스틑 AWS EFS의 공식 문서를 대부분 가져왔습니다. 단, 중간중간에 하다가 막힌 부분에 대해서 추가적으로 설명만 넣어놨습니다. Amazon EFS는 Amazon EC2에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공합니다. EFS 파일 시스템을 만든 후 파일 시스템을 마운트하도록 인스턴스를 구성할 수 있습니다. 하나의 EFS 파일 시스템을 여러 인스턴스에서 실행하는 워크로드 및 애플리케이션에 대한 공통 데이터 소스로 사용할 수 있습니다. storage gateway 와 큰 차이가 없어 보입니다.차이점이라면 storage gateway는 EC2를 올려서 그곳에 DISK를 마운트하여, 그 DISK를 바라보게 하는 방식인 반면에 EFS는 단순하게 만들기만 하면 자동으로 할당이 됩니다. 또한 Po..
2018.06.05