하이브 2.2.0 버전부터 Blobstore기능을 제공합니다.
Blobstore
Blobstore는 하이브 작업시에 생성되는 임시 파일을 S3에 작성하지 않고, HDFS에 작성하는 기능을 제공합니다. HDFS가 S3보다 IO속도가 빠르기 때문에 작업의 속도가 빨라지게 됩니다. 해당 기능을 이용하였을 때 1.5배 정도의 속도 증가가 이루어졌습니다.
하이브에서 TEZ로 작업하고 파일 머지까지 발생하는 작업으로 테스트 결과 MR속도와 파일 머지 속도가 빨라서 전체 작업시간이 다음과 같이 HDFS를 사용하는 경우가 1.5배 빠르게 나왔습니다.
하지만 HDFS를 사용하는 경우 임시파일의 저장으로 인한 작업 공간의 사용, 네임노드 관리로 인한 과부하 등의 오버헤드가 발생하기 때문에 작업의 형태에 따라 적절한 선택과 테스트가 필요할 것 같습니다.
- true(S3): 33초
- false(HDFS): 22초
# blobstore 사용이 가능한 저장 스키마
set hive.blobstore.support.shcemes=s3,s3a,s3n;
# false 일때 HDFS에 임시 파일을 작성
set hive.blobstore.optimizations.enabled=true;
# 임시 파일의 저장여부
set hive.blobstore.use.blobstore.as.scratchdir=false;
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive] 벡터화(vectorized) 처리 (0) | 2020.01.07 |
---|---|
[hive] 하이브의 조인방식(hive join) (0) | 2020.01.06 |
[hive] MSCK is missing partition columns under location. 오류 해결 방법 (0) | 2019.12.04 |
[hive] Error in getting fields from serde.Invalid Field null 오류 수정 방법 (0) | 2019.12.04 |
[hive] 하이브 schemaTool을 이용하여 스키마 생성 (0) | 2019.10.30 |