본문 바로가기

orc5

[hive] 벡터화(vectorized) 처리 하이브 성능 향상의 한 방법인 벡터화(vectorized) 처리는 한 번에 처리하는 데이터의 양을 늘려서 CPU 사용률을 높이고, 처리속도를 빠르게 하는 기법입니다. 검색, 필터, 집계, 조인 처리에서 사용되고, 한 번에 1024개의 행을 동시에 처리하여 속도를 높입니다. 벡터화 설정을 하면 1024행(row)의 블록으로 한번에 작업을 처리합니다. 하나의 블록에서 열(column)은 배열로 처리됩니다. 아래의 클래스와 같이 칼럼이 ColumnVector클래스 배열로 한 번에 읽어서 처리합니다. 조회, 필터링 등에 벡터화를 이용하면 한번에 처리하는 작업이 증가하여 속도가 빨라지게 됩니다. 16억 건의 데이터를 이용해서 count명령을 처리한 결과 벡터화 처리를 하지 않으면 67.6초, 벡터화 처리를 하면 .. 2020. 1. 7.
[빅데이터] ORC와 Parquet 파일 저장 형식 빅데이터는 효율적인 데이터 저장을 위해 여러가지 저장 형식이 있습니다. 처음에는 TXT 형식으로 데이터를 저장하였지만, 데이터 저장공간과 처리 속도면에서 문제가 발생하면서 효율적인 처리 방식을 고민하게 되었습니다. 이때 클라우데라의 더그 커팅이 trevini, 호튼웍스의 오웬 오말리가 ORC 파일 포맷을 만들었습니다. ORC는 압축률이 높고, 스키마를 가지고 있으며, 처리속도가 빠르지만 하이브에서만 사용할 수 있었습니다(현재는 아님). 회사가 다르다 보니 통합된 형태로 발전하지 못하고 각각 발전하다 트위터에서 Parquet을 발표 했습니다. Parquet도 ORC와 유사하게 칼럼기반의 구조를 가지고 있습니다. 이제 ORC와 Parquet에 대해서 알아보겠습니다. ORC칼럼 기반 저장 포맷 하이브의 RC .. 2019. 2. 19.
[hive][스크랩] hive orc 예제 ORC는 칼럼 기반의 파일 저장방식으로, hive에 적용하면 성능을 개선할 수 있다. 사용방법은 다음과 같이 STORED AS를 ORC로 선언해주면 된다. 그리고 TBLPROPERTIES에 설정정보를 입력할 수 있다. CREATE TABLE table1( col1 string, col2 string, col3 string, col4 string)STORED AS ORCTBLPROPERTIES ("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").. 2018. 4. 20.
[hive][error] TEZ 사용시 Caused by: java.lang.ArrayIndexOutOfBoundsException: 1024 오류 hive 2.1.0 에서 ORC 파일 포맷 이용중 다음의 오류가 발생하는 경우가 있다. Caused by: java.lang.ArrayIndexOutOfBoundsException: 1024 이 경우 다음의 지라와 같이 Hive 버그일 가능성이 높다. 이럴때는 이런 해결방법이 있다. hive 버전업 또는 패치 적용ORC 말고 다른 포맷으로 데이터를 저장 후 다시 ORC 포맷으로 저장파일 머지중 오류가 발생했다면 머지 기능을 잠시 off 리듀서를 1개로 설정하여 처리 https://issues.apache.org/jira/browse/HIVE-14483 2017. 8. 24.
[hive] ORC 파일 포맷 ORC(Optimized Row Columnar) 파일 포맷 ORC 파일 포맷은 하이브의 처리 속도를 높이기 위하여 개발 되었다. 하이브가 처음에 사용한 TextFile, SequenceFile 포맷의 처리속도를 높이기 위하여 RCFile 포맷이 개발 되었다. RCFile 포맷은 각 컬럼을 하나의 파일 묶음으로 만들었기 때문에 각 노드에 분산 처리된 데이터를 모으는 비용이 많이 들어가게 된다. 이를 극복하기 위하여 제안된 것이 ORC 파일 포맷이다. ORC 포맷은 칼럼 단위로 데이터를 기록하고, 인덱스를 기록하여 컬럼에 바로 접근할 수 있기 때문에 속도가 빨라진다. ORC 포맷은 호튼웍스의 부사장 오웬오말리가 제안한 것으로 하나의 파일에 칼럼을 json 처럼 중첩구조로 구성할 수 있고, 리스트, 맵과 같.. 2016. 12. 28.