2017-05-03 7 views
0

이 질문은 이미 묻지 만 입력 내용이 다릅니다. 또한 이것에 대한 문서를 찾지 못했습니다.날짜를 문자열에서 임팔라로의 타임 스탬프로 변환합니다.

나는 임팔라에 문자열을 타임 스탬프에 변환해야하고, 이것은 나에게 오류를 보여주고있다

select from_unixtime(unix_timestamp('Mon Jan 02 06:30:40 EST 2006', 'EEE MMM dd kk:mm:ss zzz yyyy')) as timestamp 

로 삼았 내가 뭐하는 거지.

쿼리가 HIVE에서 작동하지만 IMPALA에서 수행하려고합니다.

2006-01-02 06:30:40 

사람이 어떻게 얻을하는 방법을 말해 줄래 -

나는 같은 출력을 원하는?

+0

'06 : 60 :

에서 문서를 사용 40'을? .... –

+0

그것의'06 : 30 : 40'. 나는 그것을 바꿨다. 감사합니다 –

답변

0

최종 날짜 표시 방법의 마지막 문자열 형식이 누락 된 것 같습니다.

임팔라 2.7에서이를 테스트 한 결과 작동하는 것 같습니다.

SELECT from_unixtime((unix_timestamp('Mon Jan 02 06:30:40 GMT 2006', 'EEE MMM dd kk:mm:ss zzz yyyy')), 'yyyy-MM-dd hh:mm:ss') AS result 

NB : 위의 예에서 GMT로 전환했습니다.

https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_datetime_functions.html#datetime_functions__from_unixtime

+0

v2.5.0을 사용 중입니다. 이 버전에서는 작동하지 않습니다. 는 에러 -주고 '오류시 임에 쿼리를 실행하는 동안 S1000 (110) 클라우 데라] ImpalaODBC (110) 실행 오류 [HY000] : 런타임 오류 : 쿼리 a4678a38a5da3b3가 완성 : 100 % 6016bf88adb6d79b (0 중 0) 잘못된 날짜/시간 변환 형식 : EEE MMM dd kk : mm : ss zzz yyyy' –