Parquet
Parquet (Parquet)
Parquet은 컬럼 기반(columnar) 저장 포맷이에요. 같은 타입의 데이터를 컬럼 단위로 모아 저장하기 때문에 압축 효율과 분석(열 단위) 쿼리 성능이 뛰어납니다.
출처: 문서
본문
Hive에서 Parquet 포맷을 사용하는 방법을 설명합니다.
Parquet 소개
Parquet은 Apache 프로젝트의 오픈소스 컬럼 기반 저장 포맷입니다. 데이터를 행 단위가 아닌 컬럼 단위로 저장하므로:
- 높은 압축률을 얻을 수 있고,
- 필요한 컬럼만 읽는 분석 쿼리(I/O) 성능이 좋습니다.
Hive, Spark, Impala, Presto 등 여러 시스템에서 공통으로 사용할 수 있는 표준 포맷입니다.
Hive에서 Parquet 테이블 만들기
STORED AS PARQUET을 사용해 Parquet 포맷 테이블을 생성합니다.
CREATE TABLE employees (
id INT,
name STRING,
salary DOUBLE
) STORED AS PARQUET;
파티셔닝과 함께 사용
Parquet 테이블에도 파티셔닝을 적용할 수 있습니다.
CREATE TABLE sales (
product STRING,
amount DOUBLE
) PARTITIONED BY (dt STRING)
STORED AS PARQUET;
장점과 고려사항
- 컬럼 단위 접근이 가능해 분석 워크로드에 유리합니다.
- 스키마 진화(schema evolution)와 중첩 데이터 구조(complex types)를 지원합니다.
- 파일별로 Parquet 메타데이터(스키마, 통계)가 저장되어 스캔 최적화에 도움을 줍니다.
참고: Parquet과 관련된 구체적 설정(블록 크기, 압축 코덱 등)과 스키마 매핑 규칙은 원문 문서를 참고하세요.
더 알아보기 (Learn more)
- 웨어하우스의 분석용 대용량 테이블에는 컬럼 기반 포맷인 Parquet 또는 ORC가 자주 사용돼요. Parquet은 압축과 컬럼 스캔 성능에 강하고, 여러 엔진 간 상호운용성이 좋습니다.