본문 바로가기
개인 공부 일지/데이터 엔지니어링

Parquet이란

by 대체로 무해함 2025. 10. 26.

Parquet이 뭔가

 간단히 말해서 데이터를 저장하는 형식으로 파일 포맷 중 하나다. 빅데이터 처리를 위해 빠른 읽는 속도, 압축률을 위한 포맷으로 위키백과엔 아래와 같이 나와있다.

아파치 파케이(Apache Parquet)는 아파치 하둡 생태계에서 사용되는 자유-오픈 소스 컬럼 지향 데이터 저장 형식이다. 
RCFile 및 ORC와 같이 하둡의 다른 컬럼 기반 저장 파일 형식과 유사하며, 하둡 주변의 대부분의 데이터 처리 프레임워크와 호환된다. 대량의 복잡한 데이터를 처리하기 위한 향상된 성능과 함께 효율적인 데이터 압축 및 부호화 방식을 제공한다.
- 출처 : 위키백과

 

Column 기반 저장 방식

 parquet의 큰 특징은 Column을 기반으로 한 저장 방식으로, 이는 균일한 데이터 집합이 되므로 곧 높은 압축률을 제공한다. 뿐만 아니라 필요한 열만 읽고, 해당 열에 특화된 인코딩 및 압축 기술을 사용하는 등 데이터 처리 능력을 높일 수 있다.

 

Parquet 구조

 

parquet는 행 그룹으로 나눠 저장하며, 파일 메타데이터에 모든 열 청크 시작 위치가 포함되어 있다. 그래서 사용할 경우 찾으려는 열 청크에 대해 먼저 파일 메타데이터를 읽어, 열 청크를 순차적으로 읽는 방식을 취한다.

 

결과적으로 Parquet 파일은 각 블록이 행 그룹을 저장하고, 행 그룹 내에 해당하는 청크 리스트로 구성된다. 그럼 그 청크 리스트는 데이터를 저장하고 있는 페이지로 구성되게 된다. 그래서 구조에 따라 Parquet의 행 그룹 크기나 데이터 페이지 크기를 지정할 수 있고, 행 그룹이 클수록 더 큰 열 청크를 사용하고 페이지는 작을수록 더 세분화된 읽기를 지원한다.

 

지원 자료형

BOOLEAN 1 비트 바이너리 값
INT32 부호가 있는 32비트 정수
INT64 부호가 있는 64비트 정수
FLOAT 32비트 부동 소수점 숫자
DOUBLE 64비트 부동 소수점 숫자
BYTE_ARRAY 임의 길이의 byte 배열
FIXED_LEN_BYTE_ARRAY 고정 길이 byte 배열

 

BOOLEAN 타입을 통해 자료형을 확장하는데, 예를 들어 문자열 데이터는 바이트 배열로 저장하는 식을 취할 수 있다. 이를 통해 바이너리 형태로 저장함으로써 저장 효율을 더 키울 수 있다.

 

참고

https://parquet.apache.org/docs/concepts/

 

Concepts

Glossary of relevant terminology.

parquet.apache.org

https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%ED%8C%8C%EC%BC%80%EC%9D%B4

 

아파치 파케이 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 아파치 파케이(영어: Apache Parquet)는 아파치 하둡 생태계에서 사용되는 자유-오픈 소스 컬럼 지향 데이터 저장 형식이다. RCFile 및 ORC와 같이 하둡의 다른 컬럼 기

ko.wikipedia.org

https://devidea.tistory.com/92

 

Parquet (파케이)

이번 글은 하둡 생태계에서 많이 사용되는 파일 포맷인 Parquet (이하 파케이)에 대해 정리한다. 글의 포함된 설명 중 많은 부분은 하둡 완벽 가이드에서 발췌한 것임을 밝힌다. 파케이는 columnar 저

devidea.tistory.com