2017-02-14 8 views
0

私は新しいです。私は文字列内のスパークデータフレームの日付形式を変更する必要があります。/00:00:00と同様に削除する必要があります。私は使用しようとしましたCAST(unix_timestamp(Column、Format))は、スカラを使用してSparkで間違った日付を表示します

to_date(unix_timestamp($"Date", "YYYY-MM-DD 00-00-00").cast("timestamp")) 

フォーマットは予想通り変更されていますが、ランダムな日付があります。問題があるとわかりましたunix_timestamp データフレームをCSVファイルからインポートしました。私は、正規表現を使用して解決策を得たが、なぜそれが動作していないかを知ることが良いでしょう。使用

コード:(コードは正確にも同様ではないかもしれないが)

df.select(unix_timestamp($"Date", "MM-DD-YYYY hh:mm:ss").cast("timestamp"),$"Date") 

Sample Output:

+0

どのバージョンのSparkを使用しますか? – pheeleeppoo

+0

バージョンは1.6.2 –

答えて

0

はこのような何かを試してみてください:

df.select((unix_timestamp($"Date", "MM/dd/yyyy HH:mm:ss") * 1000).cast("timestamp"), $"Date") 

詳細はhereを参照してください。

+0

downvoteを説明すると、何が間違っているかを理解するのに役立ちます。 – pheeleeppoo

+0

ご返信ありがとうございます。 yyyy-MM-dd HH:mm:ssを使用すると動作します。 Caps MM:DD対mm:dd:yyの違いは何ですか? –

関連する問題