#쉬운길 #더 쉬운길
AWS S3 에는 이세상 모든 데이터가 모여있을 것 같단 생각.
데이터 프로세싱을 통해서 만들어놓은 정보들이 있다.
Parquet 포맷으로 저장을 했다.
뭐 csv or json 다 상관은 없지만 parquet은 schema를 가지고 있어서
좀 더 편하게 핸들링 할 수 있다.
근데,
젤 귀찮은게 S3 외부에서 Python으로 데이터를 받아서 뭔가를 처리하려고 할 때,
라이브러리로 만들어 두었지만 뭔가 늘 귀찮고 지저분하다는 느낌이 드는데,
역시나 내가 만들어서 그런 듯 한다.
여기 AWS-WRANGLER 라는 라이브러리가 있다.
간단하게 Path 만 전달하면 해당 위치의 Parquet 파일을 읽어올 수 있다.
사실 엄청난 기타 기능들이 많다.
https://aws-data-wrangler.readthedocs.io/en/stable/tutorials/004%20-%20Parquet%20Datasets.html
꼭 한 번 확인해봐야할 유용한 라이브러리 라는 생각이 든다.
개발자는 읽고 쓰는 기능만 사용할 수 있지만,
인프라 쪽에서도 다양한 기능을 편하게 사용 할 수 있지 않을까? 라는 생각이 들었다.
안타깝게도 ORC 타입은 지원이 안되는 듯 하다.
내가 사용한 방식은 간단하게 S3 Parquet 데이터를 읽는 기능을 활용하는 것이었다.
import awswrangler as wr
wr.s3.read_parquet(path=f"s3://{bucket}/{key}/sik.parquet/", dataset=True)
dataset=True 옵션은 모든 파티션을 읽어들이고 결과를 반환한다.
하나의 파티션을 지정해서 읽고 싶다면 dataset=False 가 맞다.
당연히 쓰기는 wr.s3.to_parquet(...) 이다.