-
Parquet?Data Engineer 2024. 9. 30. 20:41728x90
Parquet은 Hadoop에서 칼럼방식으로 저장하는 저장 포맷이며, X와 Cloudera에서 개발하였다(현재는 Apache에서 관리).
"작은 파일 사이즈, 낮은 I/O 사용"
Parquet는 프로그래밍 언어, 데이터 모델 혹은 데이터 처리 엔진과 독립적으로 엔진과 하둡 생태계에 속한 프로젝트에서 칼럼 방식으로 데이터를 효율적으로 저장하여 처리 성능을 비약적으로 향상시킬 수 있다.
열 기반 압축을 하고있는데, 이는 칼럼의 데이터가 연속된 구조로 저장됨을 시사한다.
열을 기반으로 데이터를 처리하면 행 기반으로 압축했을 때에 비해 데이터의 압축률이 더 높고, 필요한 열의 데이터만 읽어서 처리하는 것이 가능하기 때문에 데이터 처리에 들어가는 자원을 절약할 수 있다.
Parquet
Hadoop 에코시스템 안에서 언제든지 사용 가능한 데이터 저장 포맷으로, 스파크 SQL은 자동으로 기존의 데이터 스키마를 유지하는 parquet 파일의 읽기와 쓰기를 지원
ORC : Parquet과 마찬가지로 압축률이 높고 스키마를 가지고 있으며, 처리속도가 빠르지만 하이브에서만 사용할 수 있다.
장점
- 높은 압축률 : 칼럼 단위로 구성하면 데이터가 균일하므로 압축률이 높아진다
- 복잡한 데이터를 대량으로 다루는데 최적화되어 있으며, 모든 종류의 빅데이터를 저장하는데 적합하다
(구조적 데이터 테이블, 이미지, 동영상, 문서)
- 데이터를 전체 칼럼 중에서 일부 칼럼을 선택, 선택되지 않은 칼럼 데이터에서는 입출력이 발생하지 않게 된다
- 칼럼에 동일한 데이터 타입이 저장되기 때문에 칼럼별로 적합한 인코딩 사용이 가능하다
- 모든 칼럼은 호환성을 위해 자동 Null 값을 허용한다
- 언어 범용성이 뛰어나다
Dataset AWS S3 Query Runtime Scanned Data Cost CSV 1TB 236s 1.15TB $5.75 Parquet 130GB 6.78s 2.51GB $0.01 절약 약 87% 34배 99% 99.7% 728x90'Data Engineer' 카테고리의 다른 글
Data Governance 와 Data Architecture (0) 2024.11.12 [대규모 시스템 설계] (1) 처리율 제한 장치 (2) 2024.10.17 모놀리스/마이크로서비스 (0) 2024.08.28 Schema On Read (0) 2024.08.20 GlobalEventBus ? (0) 2024.05.02