2017-05-03 9 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 

like-行っています。

クエリはHIVEで動作していますが、IMPALAでクエリを実行します。

2006-01-02 06:30:40 

誰がどのようにこれを取得する方法を教えてもらえます -

私はとして出力したいですか?

+0

'06:60:からのドキュメントを使用して

40'? .... –

+0

その「06:30:40」。私はそれを変えた。ありがとう –

答えて

0

最終日の提示方法の最終的な文字列形式が不足しているようです。

これをImpala 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 

注:上記の例では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)[Clouderaの] [ImpalaODBC](110)エラー時、これは 'エラーエラー - 与えている:[HY000]:ランタイムエラー:クエリa4678a38a5da3b3:100%6016bf88adb6d79b完了( 0から0まで) 日付/時刻の形式が正しくありません:EEE MMM dd kk:mm:ss zzz yyyy' –

関連する問題