[HADOOP] 하둡 하이브 카운트 동시성
HADOOP하둡 하이브 카운트 동시성
어떻게 하둡에서 그것을 구현하는 방법?
하이브, 나는 그들 중 두 사람은, END_TIME BEGIN_TIME 있습니다 많은 열을 가진 테이블이 있습니다.
나는 각 시간 수를 계산해야
테이블의 조각이있다 :
begin_time end_time
2011.04.26 10:19:06^A2011.04.26 10:20:22
2011.04.26 10:19:08^A2011.04.26 10:21:49
2011.04.26 10:19:08^A2011.04.26 11:18:46
2011.04.26 10:19:09^A2011.04.26 12:08:36
2011.04.26 10:19:09^A2011.04.26 11:00:16
2011.04.26 10:19:11^A2011.04.26 10:19:17
2011.04.26 10:19:12^A2011.04.26 10:46:21
2011.04.26 10:19:13^A2011.04.26 10:55:43
2011.04.26 10:19:17^A2011.04.26 10:19:41
2011.04.26 10:19:18^A2011.04.26 10:34:41
많은 사람들이 특정 시간에 어떻게 내가 원하는 결과입니다.
예를 들면 2011년 4월 26일 10시 19분 8초에,이 3 방문자 19시 8분 거기에 19시 6분 하나, 2 코스.
및 2011년 4월 26일 10시 19분 18초 9, 물론 열하지만 2011년 4월 26일 10시 19분 17초에 한 휴가입니다
편에 대해 원하는 결과는
2011.04.26 10:19:06 1
2011.04.26 10:19:08 3
2011.04.26 10:19:09 5
2011.04.26 10:19:11 6
2011.04.26 10:19:12 7
2011.04.26 10:19:13 8
2011.04.26 10:19:17 9
2011.04.26 10:19:18 9
어떤 도움을 많이 감사하고 환영합니다.
해결법
-
==============================
1.당신은 (테이블 이름 test_log된다고 가정) 하이브에서이 작업을 시도 할 수 있습니다 :
당신은 (테이블 이름 test_log된다고 가정) 하이브에서이 작업을 시도 할 수 있습니다 :
select /*+ MAPJOIN(driven) */ driven.time, count(*) from (select time from (select begin_time time from test_log union all select end_time time from test_log) u group by time) driven join test_log l on true where driven.time between l.begin_time and l.end_time group by driven.time
아마 없을 최고의 솔루션하지만 적어도 작동합니다. 당신은 데이터 세트를 줄이기 위해 구동 하위 쿼리에 대한 몇 가지 필터를 추가 할 수 있습니다.
from https://stackoverflow.com/questions/16641072/hadoop-hive-count-concurrency by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] java.lang.ClassNotFoundException가 : 이클립스 org.apache.hadoop.hive.jdbc.HiveDriver (0) | 2019.09.29 |
---|---|
[HADOOP] 하둡 분산 캐시 개체가 작업 중 변경 (0) | 2019.09.29 |
[HADOOP] "찾거나 메인 클래스를로드 할 수 없습니다"때문에 jar 파일을 실행할 수 없습니다 (0) | 2019.09.29 |
[HADOOP] 어떻게 읽기 및 파이썬을 사용하여 HDFS에 서면으로 프록시 오류를 해결하려면? (0) | 2019.09.29 |
[HADOOP] Sqoop을 - 날짜 -timestamp (0) | 2019.09.29 |