我有以下格式的日期:
-
08MAR1978:00:00:00
-
10FEB1973:00:00:00
-
15AUG1982:00:00:00
我想将它们转换为:
-
1978-03-08
-
1973-02-10
-
1982-09-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” .
任何人都可以提供一些见解如何将日期转换为%d%B%Y:%H:%M:%S格式转换为SparkR中的日期?
谢谢!
2 回答
我认为你不需要
SparkR
来解决这个问题 .你有什么:
如果您想获得1978-03-08等,您可以将
as.Date
与您自己发现的日期格式结合使用:as.Date
将确保R
知道如何将您的字符串解释为日期 .但是请注意,一般来说,日期显示给你的方式(即1978-03-08)实际上是在引擎盖下,
R
现在了解你的日期,所以所有与日期相关的操作都将适当地执行 .我想出了怎么做:
这适用于Spark 2.2.x.