2016-07-18 19 views
0
02/07/2016 12:43:23.324 PM 
mm/dd/yyyy hh:mm:ss.SSS AM/PM -current format 12 hr 

豚に24時間形式にこれを変換するために助けてください...豚で 12時間形式の変換豚の日付時間は24時間ですか?

02/07/2016 12:43:23.324 PM 
03/08/2016 08:12:15.123 AM 

コマンドHDFS

ファイル:

date_data = LOAD 'hdfs path' as (date: chararray); 

todate_data = foreach date_data generate ToDate(date,'yyyy/MM/dd HH:mm:ss.SSS'); 

dump todate_data; 

には、以下の例外を与えます。

java.lang.IllegalArgumentExceptionが:無効なフォーマット: "2016年2月7日12:43:23.324 PMが" 不正な形式でさ ":43:16 12 23.324 PM"

答えて

1

あなたがする必要があります入力のフォーマットを指定します。例えば、あなたのデータは 'MM/dd/yyyy hh:mm:ss.SSS aa'フォーマットです。以下のスクリプトを使用してください。以下は

date_data = LOAD 'hdfs path' as (date: chararray); 
todate_data = foreach date_data generate ToDate(date,'MM/dd/yyyy hh:mm:ss.SSS aa'); 
dump todate_data; 

4日付 'DD/MM/YYYY HH:MM:SS.SSS A-A' にある作業example.The入力する形式。

INPUT

30/06/2016 02:43:23.324 PM 
01/12/2016 12:43:23.324 AM 
21/08/2016 06:43:23.324 PM 
13/07/2016 12:43:23.324 AM 

SCRIPT

A = LOAD 'test4.txt' AS (create_dt:chararray); 
B = FOREACH A GENERATE ToDate(create_dt,'dd/MM/yyyy hh:mm:ss.SSS aa') AS create_dt; 
DUMP B; 

OUTPUT

enter image description here

+0

トライdでも同じ例外があります... – TKHN

+0

@TKHN私は例を使って答えを編集しました。入力データの形式を指定する必要があります。 –

+0

ええ。解決されました。私は同じ感謝をしました:-) – TKHN

関連する問題