2016-07-18 6 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 23.324 PM 16 12"

답변

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 날짜에 example.The 입력 작업 'DD/MM은 월/일시 : 분 : ss.SSS의 AA'형식입니다.

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

관련 문제