최근에 계속해서 AWS환경에서 Iceberg를 이용한 데이터 ELT를 하고 있다 보니 AWS 관련하여 많은 것을 하고 있습니다. ELT 파이프라인을 모두 손수 만들다 보니 AWS Iceberg의 테이블에 데이터를 직접적으로 넣기 어려웠고 이런저런 내용을 찾다 보니 awswrangler라는 SDK를 발견하여 소개 하고자 합니다.
awswrangler SDK는 복잡하지 않고 단순히 아래의 과정으로 데이터를 Iceberg에 넣습니다.
awswrangler
데이터를 Python에 dataframe 형태로 만들었다가 S3에 parquet로 내리고 그 데이터를 Iceberg에 Import 합니다.
또한 awsrangler는 다음의 파라미터를 받아서 사용합니다.
parameters
위에는 굉장히 많은 파라미터가 있는데 저는 저기서 일부만 사용하였습니다. 제가 사용한 파라미터는 아래에 있는 내용인데요. 왜 이것을 사용하였는지 소개해볼까 합니다. 제가 awsrangler를 사용한 이유는 Iceberg 테이블을 임시로 생성하고 Iceberg 원본 테이블과 Merge를 하여 데이터를 Upsert 하려고 하였습니다.