[컴] Apache Parquet

 아파치 파케이 /

Apache Parquet

Apache Parquet 는 columnar storage format 이다.

  • Hadoop ecosystem 내부 어디서든 쓸 수 있다.
  • csv, json 을 사용하는 것보다 빠르다.
  • 복잡한 data 를 대량으로(in bulk) 다루기 위해서
    • 효과적인 data 압축(compression) 을 제공
    • 향상된 성능의 schemes encoding

Columnar Storage Format

How to Convert CSV to Parquet Files? | Humble Bits : columnar storage format 에 대한 간략한 설명을 볼 수 있다.

간략하게 설명하면, 대체로 우리가 아는 RDBMS 는 row 를 중심으로 data 를 저장해서, 한줄에 대한 내용을 먼저 쓰고, 그다음줄(row)에 대한 내용을 쓰고, 이렇게 순차적으로 disk 에 쓰게 된다.

그런데 columnar storage format 에서는 만약에 record 가 5개 있다고 한다면, 5개 record 의 첫번째 column 의 값들을 전부 쓰고, 그 다음 이어서 column 의 값들을 전부 쓰고, 이런식으로 column 단위로 table 의 값들을 disk 에 write 한다.

csv to parquet

pip install pyarrow
pip install pandas

import pandas as pd

df = pd.read_csv('input.csv')
df.to_parquet('ouput.parquet')

PyArrow 로 parquet 읽기

Reference

  1. Spark Read and Write Apache Parquet — SparkByExamples
  2. File Format | Apache Parquet

댓글 없음:

댓글 쓰기