파이썬에서 대용량 csv 읽기 (PyArrow)

John
2 min readMar 14, 2020

파이썬에서 용량이 큰 csv를 읽는 방법을 소개하려고 한다.

바로 아파치 애로우(Apache Arrow)라는 메모리 내 분석을 위한 개발 플랫폼인데, 빅데이터를 빠르게 처리하고 이동할 수 있도록 하는 일련의 기술을 제공하는 라이브러리를 파이썬 PyArrow를 통해 구현할 수 있다.

기존의 pandas에서 용량이 큰 csv파일을 분석할 때 어려움을 겪었다면 pyarrow를 활용하면 큰 도움이 될 것 같다.

1. 설치

pip instasll pyarrow

2. 사용

대용량은 아니지만 마땅한 예시가 없어 KAGGLE의 home-credit-default-risk의 데이터 중 가장 큰 ‘installments_payments.csv’를 활용했다. (720MB)

from pyarrow import csv
df = csv.read_csv('installments_payments.csv').to_pandas()

3. PANDAS와 비교

(상) pandas / (하) pyarrow

pandas에서는 700mb의 csv를 불러오는데 약 7초가 걸린 반면, pyarrow에서는 약 1.5초 밖에 걸리지 않은 것을 확인할 수 있다.

참고

--

--