2021. 3. 8. 17:19ㆍ데이터 엔지니어링
Apache Hadoop 에코 시스템의 column-oriented 데이터 스토리지 포맷입니다. Hadoop에서 사용할 수 있는 column-oriented 파일 형식 RCFile, ORC와 유사합니다. 향상된 성능과 함께 효율적인 데이터 압축 및 인코딩 체계를 제공합니다.
기존 Hadoop 컬럼 스토리지 형식인 Trevni을 개선하기 위해 설계되었습니다.

기능
column-oriented
1. 각 열의 값은 인접한 메모리 위치에 물리적으로 저장됩니다.
2. 열 단위 압축은 효율적이어서 저장 공간을 절약합니다.
3. 같은 열의 값은 비슷한 유형이므로 유형별 압축 기술이 필요하지 않습니다.
4. 특정 열 값을 가져오는 쿼리는 전체 행을 읽지 않고 일부 열만 읽습니다.
5. 열마다 다른 인코딩을 적용할 수 있습니다.
Apache Thrift 프레임워크 위에서 동작함
1. Apache Thrift는 RPC(Remote Procedure Call) 프레임워크 중 하나이다.
2. C++, Java, Python, PHP 등 여러 언어에서 쉽게 핸들링 할 수 있다.
압축 및 인코딩
압축은 열 단위로 수행되므로, 열마다 서로 다른 인코딩을 적용할 수 있습니다.
Dictionary encoding
1. Parquet에는 적은 수의 고유 값(10^5 미만)의 데이터에 대해 동적으로 활성화 된 자동 사전 인코딩이 있어서 압축을 가능하게 합니다.

Bit packing
1. 작은 정수의 경우 여러 정수를 동일한 공간에 패킹하여 저장 효율을 향상시킵니다.

Run-length encoding(RLE)
1. WWWWWWWBWW를 W7B1W2와 같은 방식으로 압축합니다.
기타
Parquet 1.0 발표 트위터
blog.twitter.com/engineering/en_us/a/2013/announcing-parquet-10-columnar-storage-for-hadoop.html
Announcing Parquet 1.0: Columnar Storage for Hadoop
Announcing Parquet 1.0: Columnar Storage for Hadoop
blog.twitter.com
'데이터 엔지니어링' 카테고리의 다른 글
[🔥Spark] Spark Streaming 이란? (0) | 2021.04.01 |
---|---|
[데이터 엔지니어링 간단 정리] 스노우플레이크(Snowflake) - 클라우드 기반 데이터 웨어하우징 (0) | 2021.03.31 |
[🧙Kafka] 카프카 정리 - 주키퍼(ZooKeeper)란? (0) | 2021.03.15 |
[🧙Kafka] 카프카 정리 - 기본 개념 (0) | 2021.03.12 |
[회사별 사례] 카프카(Kafka) 적용 사례(라인, 링크드인) (0) | 2021.03.10 |