我有一个从MySQL(通过json文件)上传到SparkR的Formal class DataFrame对象,其中包含如下格式的字符串:"2012-07-02 20:14:00"
我需要在SparkR中将这些转换为日期时间类型,但这似乎还不受支持。是否有一个未记录的函数或UDF的配方?(注意。我以前还没有真正尝试过创建SparkR UDF,所以我在这里抓住了救命稻草。)
Spark SQL不支持R UDF,但在这种特殊情况下,您可以简单地转换为timestamp
:
df <- createDataFrame(sqlContext,
data.frame(dts=c("2012-07-02 20:14:00", "2015-12-28 00:10:00")))
dfWithTimestamp <- withColumn(df, "ts", cast(df$dts, "timestamp"))
printSchema(dfWithTimestamp)
## root
## |-- dts: string (nullable = true)
## |-- ts: timestamp (nullable = true)
head(dfWithTimestamp)
## dts ts
## 1 2012-07-02 20:14:00 2012-07-02 20:14:00
## 2 2015-12-28 00:10:00 2015-12-28 00:10:00