ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Parquet?
    Data Engineer 2024. 9. 30. 20:41
    728x90

    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
Designed by Tistory.