본문 바로가기
빅데이터/hive

[hive][스크랩] hive orc 예제

by hs_seo 2018. 4. 20.

ORC는 칼럼 기반의 파일 저장방식으로, hive에 적용하면 성능을 개선할 수 있다. 


사용방법은 다음과 같이 STORED AS를 ORC로 선언해주면 된다. 

그리고 TBLPROPERTIES에 설정정보를 입력할 수 있다. 



CREATE TABLE table1

(

    col1 string,

    col2 string,

    col3 string,

    col4 string

)

STORED AS ORC

TBLPROPERTIES (

"orc.compress"="ZLIB",

"orc.compress.size"="262144",

"orc.create.index"="true",

"orc.stripe.size"="268435456",

"orc.row.index.stride"="3000",

"orc.bloom.filter.columns"="col1,col2");



Key

Default

Notes

orc.bloom.filter.columns""

블룸필터를 생성할 컬럼 정보, 콤마(,)로 구분하여 입력 

orc.bloom.filter.fpp0.05

블룸필터의 오판 확률(fpp=false positive portability) 설정 (must >0.0 and <1.0)

orc.compress

ZLIB

압축방식 설정 (one of NONE, ZLIB, SNAPPY)

orc.compress.size

262,144

압축을 처리할 청크 사이즈 설정(256 * 1024 = 262,144)

orc.create.index

true

인덱스 사용 여부 

orc.row.index.stride

10,000

설정 row 이상일 때 인덱스 생성  (must be >= 1000)

orc.stripe.size

67,108,864

스트라이프를 생성할 사이즈 (64 * 1024 *1024 = 67,108,864)), 설정 사이즈마다 하나씩 생성




[ORC 정보]

https://community.hortonworks.com/articles/75501/orc-creation-best-practices.html

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC#LanguageManualORC-SerializationandCompression


[블룸 필터(Bloom filter)]

원소가 집합에 속하는지 여부를 검사하는데 사용하는 확률적 자료 구조 이다. 


블룸 필터에 의해 어떤 원소가 집합에 속한다고 판단된 경우 실제로는 원소가 집합에 속하지 않는 긍정 오류가 발생하는 것이 가능하지만, 반대로 원소가 집합에 속하지 않는 것으로 판단되었는데 실제로는 원소가 집합에 속하는 부정 오류는 절대로 발생하지 않는다는 특성이 있다. 


https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A3%B8_%ED%95%84%ED%84%B0


반응형