I/O 속도 향상: Parquet 및 Feather
Nov 27 2022
일부 문제는 로컬 저장소에서 읽은 데이터로 구성됩니다. 읽기-프로세스-쓰기 작업은 상대적으로 작은 데이터 세트에서 편안할 수 있지만 이러한 작업은 대규모 .

일부 문제는 로컬 저장소에서 읽은 데이터로 구성됩니다. 읽기-프로세스-쓰기 작업은 상대적으로 작은 데이터 세트에서 편안할 수 있지만 큰 .csv 파일에 대한 작업은 우리에게 상당히 번거롭습니다. 시간과 리소스 측면에서 매우 까다로울 수 있습니다.
데이터 읽기-쓰기 속도를 높이고 디스크에 저장된 데이터의 크기를 압축하는 두 가지 파일 유형을 소개하겠습니다.
- 쪽매 세공
- 깃털
- Python-Pandas에서 기본적으로 액세스할 수 있습니다. 그러나 데이터 유형에 따라 pyarrow 및 그 종류의 일부 확장을 추가로 설치해야 할 수도 있습니다.
- 열 기반 I/O 관리를 지원합니다. 이렇게 하면 모든 데이터를 읽고 불필요한 열을 삭제하는 동안 일시적으로 추가 RAM을 사용하는 것을 방지할 수 있습니다.
- 원시 형식이 아닌 자체 형식의 바이너리 형식으로 데이터를 저장하면 스토리지를 최대 50%까지 절약할 수 있으며 읽기-쓰기 작업에서 최대 100배의 가속화를 얻을 수 있습니다.
쪽매 세공
깃털
결론
그렇게 쉽습니다! 데이터를 원시 형식으로 저장할 필요가 없고 모든 사용자가 언제든지 Excel로 데이터를 열 수 있을 필요가 없는 경우 이러한 방법을 사용하는 것이 좋습니다! 이러한 예외적인 경우에는 데이터 형식을 변경하는 대신 데이터 읽기 및 쓰기를 병렬화하는 것이 더 논리적입니다. 또한 앞으로 그 시나리오를 다룰 생각입니다. 이 콘텐츠가 도움이 되었기를 바랍니다. 간단하지만 매우 효과적인 것 같습니다.
저는 Kaggle 대회에서 이 방법을 사용하고 있으며 꽤 좋은 속도 향상을 얻고 있습니다. 여기 에서 내 예제 코드를 검토할 수 있습니다 !