2017-11-09 6 views
0

타임 스탬프를 PST에서 GMT로 변환 할 때 to_utc_timestamp 함수가 공백으로 반환되는 이상한 문제가 발생했습니다. 나는 이것이 미국에서 일광 절약 시간이 중단 된 날에만 1 시간 동안 일어나는 것을 볼 수있었습니다.임팔라 일광 절약 시간제 전환 중에 입력 시간을 null로 변환

Query: select to_utc_timestamp(cast('2017-11-05 01:00:00' as timestamp),'PST') 

Query: select to_utc_timestamp(cast('2017-11-05 01:59:59' as timestamp),'PST') 

위의 쿼리는 빈 출력을 반환합니다. 같은 일이 하이브에서 잘 작동하지만

:

Query: select to_utc_timestamp(cast('2017-11-05 01:00:00' as timestamp),'PST') 
OK 
2017-11-05 09:00:00 
Query: select to_utc_timestamp(cast('2017-11-05 01:59:59' as timestamp),'PST') 
OK 
2017-11-05 09:59:59 

은 임팔라 자체를 조회하여이 문제를 해결하는 방법도 같은과에 대한 이해 이유를 도움이 필요합니다.

임팔라 버전 - CDH 5.10에 1.1.0

답변

0
난 당신 같은 임팔라와 CDH 버전을 사용하고

, 같은 버그 선물 - CDH 5.10

하이브 버전 v2.7.0. 이 해결 방법은 임팔라에서 올바른 대답을 얻을 수 있습니다.

select case 
    when 
     cast('2017-11-05 01:00:00' as timestamp) >= '2017-11-05 01:00:00' and 
     cast('2017-11-05 01:00:00' as timestamp) <= '2017-11-05 01:59:59' 
    then 
     hours_sub(to_utc_timestamp(hours_add('2017-11-05 01:00:00', 1), 'PST'), 1) 
    else 
     to_utc_timestamp(cast('2017-11-05 01:00:00' as timestamp), 'PST') end; 
+0

문제를 확인해 주셔서 대단히 감사합니다. 또한 해결 방법은 제안 된대로 작동합니다. – Pushkin