ORC 포맷이란?

개요

하둡에 저장되는 파일 포맷들이 있다

  • RC file (Row Columnar)
  • ORC file (Optimized Row Columnar)
  • Parquet
  • ….

이러한 포맷들은 하둡 처리 속도를 높이기 위하여 개발되었다.

하둡 초기에는 RC 파일 포맷이 사용되었다. RC file 포맷은 각 컬럼을 하나의 파일 묶음으로 분산 저장되는 포맷이었다.

저장에는 큰 문제가 없지만, read과정에서 다시 모으는 조인 비용이 너무 크다는 문제점이 있었다.

이러한 문제점을 해결하기 위해 나온 것이 ORC file 포맷이다.

RC file 포맷처럼 컬럼 단위로 파일을 기록하되, 인덱스도 함께 기록하였기 때문에 read 과정에서의 성능 향상이 이루어졌다.


특징

  • 각 task의 결과가 하나의 파일로 생성 -> 네임노드 부하 줄여줌
  • 하이브 타입 지원
  • 파일에 경량 인덱스 저장
  • 데이터 타입 기반의 block-mode 압축
  • 하나의 파일을 여러개 리더로 동시 읽기 가능
  • 파일 읽기 쓰기에 일정한 메모리 용량만 필요
  • 필드의 추가나 제거가 가능한 메타 데이터는 Protocol buffers를 사용하여 저장


구조

Leave a comment