2016-10-11 12 views
0

아래에 언급 한 바와 같이 나는 하이브에서 CTAS 쿼리를 실행 해요 : host, begin_time, l4_ul_throughput & l4_dw_throughput이 ISOP 테이블에 존재하는 열입니다하이브 오류 : 일치하는 방법

create table ps_agg 
as select host, count(*) c, sum(l4_ul_throughput+l4_dw_throughput) usg from ops.isop 
where 
cast(cast(from_unixtime(begin_time) as TIMESTAMP) AS DATE) >= '2016-08-01' & 
cast(cast(from_unixtime(begin_time) as TIMESTAMP) AS DATE) < '2016-09-01' 
group by host; 

.

내가이 쿼리를 실행에 받고있어 오류 :

Wrong arguments 'begin_time' : No matching method for class org.apache.hadoop.hive.ql.udf.UDFOPBitAnd with (string, timestamp). 

begin_time 테이블에 int을 입력합니다.

나는 무엇이 잘못 될지 전혀 모른다. 누군가 해결책을 제안 할 수 있습니까?

답변

0

해결되었습니다. 그것은 구문상의 오류였습니다.

create table ps_agg 
as select host, count(*) c, sum(l4_ul_throughput+l4_dw_throughput) usg from ops.isop 
where 
cast(cast(from_unixtime(begin_time) as TIMESTAMP) AS DATE) >= '2016-08-01' AND 
cast(cast(from_unixtime(begin_time) as TIMESTAMP) AS DATE) < '2016-09-01' 
group by host; 
:

구문을 수정