데이터 전처리: 데이터 포맷 – Parquet

ㅁ 데이터 포맷

ㅇ 정의:
대용량 데이터 분석을 위해 컬럼 기반으로 저장되는 오픈소스 파일 포맷으로, 주로 Hadoop, Spark 등 분산 처리 환경에서 사용됨.

ㅇ 특징:
– 컬럼 단위 저장으로 특정 컬럼만 읽을 수 있어 I/O 효율이 높음
– 압축 및 인코딩 최적화로 저장 공간 절약
– 스키마 정보를 포함하여 데이터 타입 일관성 유지
– 다양한 빅데이터 처리 엔진과 호환

ㅇ 적합한 경우:
– 분석 시 필요한 컬럼만 선택적으로 읽는 경우
– 대규모 데이터셋을 분산 환경에서 처리하는 경우
– 저장 공간과 처리 속도를 동시에 고려해야 하는 경우

ㅇ 시험 함정:
– Parquet는 행 기반 포맷이라는 잘못된 설명에 속기 쉬움 (실제는 컬럼 기반)
– CSV보다 항상 빠르다는 절대적인 표현은 틀림 (데이터 크기, 사용 환경에 따라 다름)
– JSON처럼 사람이 바로 읽기 쉬운 포맷이 아님

ㅇ 시험 대비 “패턴 보기” 예시:
O: Parquet 포맷은 컬럼 단위로 데이터를 저장하므로 필요한 컬럼만 읽을 수 있다.
X: Parquet 포맷은 행 단위 저장 방식이므로 전체 데이터를 항상 읽어야 한다.

ㅁ 추가 학습 내용

Parquet는 Apache Arrow와 연계하여 메모리 내 연산 속도를 높일 수 있으며, Spark, Hive, Impala 등과 직접 호환된다. 스키마 진화를 지원하여 새로운 컬럼을 추가해도 기존 데이터와 호환이 가능하다. 압축 알고리즘으로 Snappy, Gzip 등을 선택할 수 있고, 컬럼별로 서로 다른 압축 방식을 적용할 수 있다. 시험에서는 ORC, Avro 등 다른 포맷과 비교하는 문제가 자주 출제되므로, 각 포맷의 저장 구조, 압축 효율, 읽기 및 쓰기 성능 차이를 함께 학습하는 것이 중요하다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*