코드에 의한 속도 개선
성능 개선 %는 Local기준입니다.
- CSV를 읽을 떄 Schema를 선언하여 읽는다.
선언하지 않았을 때 보다 약 8% 정도의 성능 개선
- 동일 DataFrame에 대하여 시간대에 의한 전 시간 데이터와의 계산이 필요한 경우 Deep-copy보단 window를 사용한다.
Deep-copy 대비 5~6 %의 성능 개선
- CSV파일을 읽을 때 nielsbasjes/splitablegzip 사용과 그에 따른 maxPartitionBytes을 조정
약 35%의 성능 개선 (maxPartitionBytes를 256m으로 설정시)
maxPartitionBytes 값에 따라 파일을 여러 파티션이 읽음
spark.sql.files.maxPartitionBytes의 기본값은 128m
https://github.com/nielsbasjes/splittablegzip