RCFile
RCFile
RCFile(Record Columnar File)은 Hive에서 오래전부터 사용해 온 행-컬럼 혼합형 파일 포맷이에요. 데이터를 '행 그룹(row group)' 단위로 나누고, 각 행 그룹 안에서는 컬럼별로 저장해서 특정 컬럼만 읽는 데 유리합니다.
출처: 문서
본문
RCFile 은 대량의 데이터를 저장하기 위한 행-컬럼 혼합(record columnar) 파일 포맷입니다. 다음과 같은 특징을 가집니다.
- 데이터는 여러 개의 행 그룹(row group) 으로 나뉘어 저장됩니다.
- 각 행 그룹은 동기화 마커(sync marker), 메타데이터 헤더(metadata header), 그리고 컬럼 데이터(column data) 로 구성됩니다.
- 행 그룹 안에서 각 컬럼의 데이터는 따로 저장되므로, 쿼리가 필요한 컬럼만 읽을 수 있어 I/O를 줄일 수 있습니다.
- 압축은 컬럼 단위로 적용되어 압축 효율이 좋습니다.
테이블에서 RCFile 사용하기:
CREATE TABLE t1 (a INT, b STRING)
STORED AS RCFILE;
또는 기존 테이블을 RCFile로 변환할 수도 있습니다:
CREATE TABLE t1_rcfile STORED AS RCFILE AS SELECT * FROM t1_plain;
주의할 점:
- RCFile은 Hive의 오래된 파일 포맷입니다. 새 프로젝트에서는 더 나은 압축률과 성능을 제공하는 ORC 또는 Parquet 같은 포맷을 권장합니다.
더 알아보기 (Learn more)
- LanguageManual ORC — Hive가 권장하는 ORC 파일 포맷.
- File Formats — 다양한 파일 포맷 비교.