본문 바로가기

프로그래밍/hive9

Hive 특정 컬럼 제외 하고 선택하기 데이터를 다루면 본의 아니게 무수히 많은 컬럼을 선택해야 할 필요가 있다.이럴 때 필요 없는 건 몇개 안돼고 나머지가 다 필요 한데...일일이 다 select문에 써주기 너무 힘들다.누구나 다 그런 생각이 있나 보다.그럴땐!! hive.support.quoted.identifiers=none 위의 설정이 되어 있어야 한다. SELECT `(extract_date)?+.+` FROM ;근데 SPARK SQL에서는 안먹는다. 2018. 2. 13.
HiveServer Too many open file error 얼마전에 잘 운영 중인 hiveserver에서 에러가 발생했다. cluster 상태로는 모든게 정상이었지만 hiveserver를 통한 application이 장애가 발생했다. HDFS 내에 있는 파일들을 읽어 들이지 못하는 현상이었는데... 처음에는 HA에 문제가 발생한 것이라고 생각했다. 하지만 hiveserver2.log를 확인해 보니 java.io.IOException: Too many open files at sun.nio.ch.IOUtil.makePipe(Native Method) at sun.nio.ch.EPollSelectorImpl.(EPollSelectorImpl.java:65) at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelecto.. 2018. 1. 24.
Hive Table 생성 시 Multi-character delimiter 적용 방법 Hive Table 생성 시 Multi-character delimiter 적용 방법Hive 에서 table을 만들 때 그냥 row format delimited fields terminated by '___' 이런 식으로 하면 !!그냥 '_' 캐릭터 하나로 인식한다. 여러개의 문자를 한꺼번에 인식하지 않는 다는 말이다.그럴 때는create table testtale ( logflag string, tst string, isp string, device string, model string, os_ver string, app_ver string, ukey string, ad_id string, dpx string, dpy string,logtype string, log string, curadm stri.. 2017. 12. 28.
Hive MIN/MAX STRUCT 쿼리 사용 ### Hive Min/Max Struct ### 업무중 관련 데이터를 하면서 추가 적인 정보 요청으로 쿼리 고민에 빠지게 되었다.'나는 점수가 몇점인데 나랑 속한 데이터 중에 가장 큰 점수를 가지고 있는 놈의 이름은 무엇인가' SUBQuery 를 사용하면 쉽게 해결 할 수 있는 문제이지만 좀더 간결한 방식을 원해서 그리고 지원 할 것이라 생각되어 검색해 보았다.찾아 보니 **MIN/MAX STRUCT**라는 Function이 Hive 0.6.0에서 부터 지원되고 있었다.그러나 hive 관련 문서에서는 본적이 없다..흠.. 사용 방법은 이러하다 select kind, admcode_gu, max(struct(rv_rate, pid)).col1 as rv_rate , max(struct(rv_rate,pi.. 2017. 12. 25.
Hive CLI 기본 셋팅 요즘도 Hive 기본 CLI를 사용하고 있는 사람이 있르지 모르겠지만.... 부득이 하게 가끔 하이브 기본 CLI를 사용해야 할때가 있다. 그럴 때 데이터 조회 시 테이블 header나 현재 db명이 안나오면 좀 불편한 경우가 있다 그럴 땐 CLI에서 SET hive.cli.print.current.db = true(hive 현재 db명 표시)SET hive.cli.print.header = true(table 조회 시 최 상단에 테이블 header 표시) 영구 등록hive-site.xml에 등록하면 된다. 2017. 12. 25.
Hive 성능 향상 방안 일반적으로 알려진 Hive 성능을 높이기 위한 방안 알려진 방안 HDP를 사용할 경우[Tez Engine 사용] (현재 사용중)MR(Map Reduce)는 여전히 대용량 배치 작업에 사용되고 있지만 이제 구 시대의 기술이 되어 버렸죠. Tez 엔진을 사용하면 2배 이상의 성능 향상이 가능 함 [ORC File 사용] (현재 사용중)일반적인 TEXT FILE 형태로 HIVE Table에 데이터를 넣는 것 보다 ORC File 형태로 입력하면 좀더 나은 성능을 얻을 수 있다. 일반적으로 Hive Table을 생성 할때“CREATE TABLE TESTTABLE (value string, key string) STORED AS ORC” 만들고“insert OR Load Data”를 사용하여 TABLE에 입력하면.. 2016. 8. 18.