2017-10-30 6 views
0

나는 다음과 같은 형식으로 날짜가 :"01MAR1978 : 00 : 00 : 00"문자열 형식을 SparkR에서 날짜 형식으로 변환하는 방법?

  1. 08MAR1978 : 00 : 00 : 00
  2. 10FEB1973 : 00 : 00 : 00
  3. 15AUG1982 : 00 : 00 : 00

I

  1. 1978년 3월 8일
  2. 1973년 2월 10일 :로 변환하고 싶습니다
  3. 1982년 9월 15일

은 내가 SparkR에 다음과 같은 시도 :

period_uts <- unix_timestamp(all.new$DATE_OF_BIRTH, '%d%b%Y:%H:%M:%S') 
period_ts <- cast(period_uts, 'timestamp') 
period_dt <- cast(period_ts, 'date') 
df <- withColumn(all.new, 'p_dt', period_dt)  

하지만이 작업을 수행 할 때 모든 날짜는 "NA"로 변경 얻을.

누구든지 SparkR에서 날짜를 % d % B % Y : % H : % M : % S 형식으로 변환하는 방법에 대한 통찰력을 제공 할 수 있습니까?

감사합니다.

+1

'as.Date (all.new $ DATE_OF_BIRTH, 형식 = "% d 개 %의 B의 %를 : –

답변

0

나는 그것을 수행하는 방법을 알아 냈어 Y : % H : % M : % S ")`원하는 출력으로 변환해야합니다.
0

나는이 질문을 해결하기 위해 SparkR가 필요하다고 생각하지 않습니다.

당신은 무엇을 가지고 :

as.Date(DoB, format="%d%B%Y:%H:%M:%S") 
# [1] "1978-03-08" "1973-02-10" "1982-08-15" 

: 당신이 1978년 3월 8일 등을 얻고 싶다면

DoB <- c("08MAR1978:00:00:00", "10FEB1973:00:00:00", "15AUG1982:00:00:00") 

당신은 당신이 이미 자신을 발견 날짜 형식과 함께 as.Date을 사용할 수 있습니다 as.DateR이 문자열을 날짜로 해석하는 방법을 알고 있는지 확인합니다.

그러나 일반적으로 날짜가 표시되는 방식 (예 : 1978-03-08)은 실제로 중요하지 않습니다. 그 이유는 'Under the Hood'이므로 R은 현재 날짜를 이해하므로 모든 날짜 관련 작업이 적절하게 수행됩니다.

이 스파크 전 2.2.x에서 작동
all.new = all.new %>% withColumn("Date_of_Birth_Fixed", to_date(.$DATE_OF_BIRTH, "ddMMMyyyy")) 

내가 생각

+0

안녕하세요 Ken, 답장을 보내 주셔서 감사합니다. 내 데이터에는 2 억 건 이상의 행이 있으므로 SparkR에서해야합니다. SparkR에서 as.Date 솔루션을 구현해 볼 것입니다. 그러나 가능한지 확실하지 않습니다. –