하이브 잡을 실행하면 나오는 다음의 설정은하이브를 실행할 때 리듀서 개수를 조절하는 순서이다. In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer=In order to limit the maximum number of reducers: set hive.exec.reducers.max=In order to set a constant number of reducers: set mapreduce.job.reduces= hive.exec.reducers.bytes.per.reducerDefault Value: 1,000,000,000 prior to Hive 0.14.0; 256 ..
HiveServer2 (HS2)는 클라이언트가 Hive에 대해 쿼리를 실행할 수있게 해주는 서비스입니다. - HiveServer2는 HiveServer1의 후속 버전입니다. - HS2는 다중 클라이언트 동시성 및 인증을 지원합니다.- JDBC 및 ODBC와 같은 공개 API 클라이언트를보다 잘 지원하도록 설계되었습니다. - HS2는 Thrift 기반 하이브 서비스 (TCP 또는 HTTP)와 웹 UI 용 Jetty 웹 서버를 포함하는 복합 서비스로 실행되는 단일 프로세스입니다. HiveServer2 from Schubert Zhang beeline 은 하이브 서버2를 이용하여 원격에서 하이브 쿼리를 실행하기 위한 도구이다. # beeline 커맨드로 실행, hive 실행 폴더에 존재% bin/beeline..
하이브는 기본적으로 폴더 구조이기 때문에 다른쪽에서 처리한 데이터나, 기존에 백업해둔 파일을 복사해서 사용할 수도 있다. hadoop fs -put 명령을 이용하여 기존 파티션 위치에 동일하게 복사하면,데이터 조회가 가능하다. 이때 기존에 등록되어 있던 파티션인 경우는 상관없지만,추가되는 경우 파티션을 새로 등록해주어야 한다. ALTER TABLE ADD PARTITION 명령으로 개별적으로 추가해 줄 수도 있지만, 추가해야할 파티션이 많은 경우 다음의 명령을 이용하여 한꺼번에 처리하면 된다. MSCK REPAIR TABLE table_name;ALTER TABLE table_name RECOVER PARTITIONS; 위의 두 명령중 하나를 이용하면 테이블의 로케이션을 검색하여 파티션을 추가해준다. A..
하이브에서 작업중 아래의 오류로 인하여 작업이 중단 되는 경우가 있다. cause:java.io.IOException: No input paths specified in job 이럴때는 두가지 경우인것 같다. 1. MR 작업할 위치에 원천 로그 파일이 없을때2. SELECT 문의 WHERE 조건으로 인하여 조회되는 건수가 0건 일때 즉, 입력할(INSERT) 데이터가 없을 때 발생한다. 이럴경우 데이터가 없어도 처리하게 하면, 에러를 내지 않고 처리한다. set hive.merge.mapfiles=false; https://svn.apache.org/repos/asf/hive/tags/release-0.5.0/conf/hive-default.xmlhttps://kidokim509.wordpress.com..
정렬과 집계 하이브의 데이터 정렬은 order by 절로 처리 가능 - 하지만 order by 처리하기 위해서는 모든 처리의 결과를 집계해야 하기 때문에 리듀서의 개수가 1개가 되어야 한다. - 마지막 결과파일의 개수가 1개가 된다. 전체적인 정렬의 결과가 필요 없다면, sort by를 사용하면 된다. - sort by는 리듀서당 정렬된 파일을 생성 어떤 경우에는 특정 로우가 특정 리듀서로 가도록 설계하여 집계연산을 사용하는 것이 좋다. - distributed by가 이 역할을 한다. sort by, distributed by에 사용되는 칼럼이 같다면 둘 다를 동시에 지정하기 위해 약칭으로 cluster by를 사용할 수 있다. select year, temperature from records2 di..
하이브 데이터 조회 조건을 정규식을 이용하여 분리하는 방법은 다음과 같다. select 칼럼명 from 테이블명 where 칼럼명 rlike '^[a-zA-Z0-9]*$'; 조회 쿼리에 rlike 를 이용하면 된다. regexp 로 대체하여도 동일한 결과를 출력한다. 정규식은 java 에서 사용하는 정규식과 동일하다. 위의 조회에 사용된 표현식은 처음[^] 부터 끝[$] 까지 영문 대소문자와 숫자 의 반복[*]으로 표현된 문자열만 찾는 쿼리이다. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
- Total
- Today
- Yesterday
- 파이썬
- nodejs
- Python
- hbase
- java
- 다이나믹
- AWS
- S3
- 백준
- Hadoop
- error
- yarn
- Linux
- mysql
- 알고리즘
- emr
- SPARK
- HDFS
- 하이브
- airflow
- 오류
- HIVE
- build
- k8s
- oozie
- 하둡
- ubuntu
- Tez
- bash
- 정올
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |