- s3fs 방식
- 장점: 메모리를 효율적으로 씀. 파일을 로컬에 쓰지 않은 상태에서 스트림으로 올라감
- 단점: 대용량 파일에서 업로드가 상대적으로 더 느림
- 예시
-
to_parquet 안에서 s3fs를 사용하고 있어서 s3 경로를 입력하면 알아서 s3에 업로드df.to_parquet(s3_path, engine="pyarrow")
- 단, IAM이든 credentials든 인증 확인 필요
-
- buffer + byteIO 방식
- 장점: 메모리에 한번에 올려서 상대적으로 부하가 큼
- 단점: 업로드가 상대적으로 더 빠름. (대용량 파일 업로드에 적합)
- 예시
- 바이트 배열을 만들어서 버퍼에 담고 그걸 S3로 올리는 형태
parquet_bytes = df.to_parquet(compression='gzip', engine='pyarrow', index=False) buffer = BytesIO(parquet_bytes) boto.upload_fileobj_s3(buffer, bucket_name, parquet_path + parquet_name)
'ETL 관련' 카테고리의 다른 글
[ETL] DB 과부하를 줄이기 위한 클러스터링 [TEMP] (0) | 2025.02.28 |
---|---|
[생각정리] load balancer가 있는 상황에서 output 처리 (0) | 2023.09.13 |
df dropna와 NaN replace[groupby시 유의점] (0) | 2023.07.04 |
데이터 병합 시 유의해야 할 data type 문제 (0) | 2023.07.03 |
Druid에 insert와 delete 하는 방식 (0) | 2023.02.15 |