일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 대용량 처리
- 에어플로우
- 스파크
- 델타레이크
- 데이터 엔지니어링
- 카프카
- Parquet
- 컬럼 기반
- Data engineering
- Zookeeper
- docker
- 카프카 구축
- s3
- 스파크 스트리밍
- Data Engineer
- AWS
- 레드시프트
- kafka rest api
- Schema Registry
- MySQL
- airflow
- 데이터 엔지니어
- spark
- 데이터
- delta lake
- spark streaming
- Data Warehouse
- kafka
- Redshift
- 데이터 웨어하우스
- Today
- Total
데이터 엔지니어 기술 블로그
[데이터 엔지니어링] Apache Parquet 정리 본문
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
'데이터 엔지니어링' 카테고리의 다른 글
[🔥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 |