在Spark scala中将DateTime转换为Date

问题描述 投票:-2回答:1

我有以下代码,试图将日期格式"2010-12-01 8:34"更改为"2010-12-01"(日期格式)

val rowRDD = data.map(attributes => Row(attributes(0), attributes(1), attributes(2), attributes(3).toInt, attributes(4), attributes(5).toDouble, attributes(6), attributes(7)))

val r1DF = spark.createDataFrame(rowRDD, schema)

val ts = unix_timestamp($"invoiceDate","yyyy/MM/dd HH:mm").cast("timestamp")

val r2DF = r1DF.withColumn("ts", ts)

r2DF.show()

但新列ts在输出中显示值null。我不知道,有什么问题?有人可以帮忙吗?

scala apache-spark
1个回答
1
投票

试试这个:

to_date(unix_timestamp($"invoiceDate","yyyy-MM-dd HH:mm").cast("timestamp"))

要么

from_unixtime(unix_timestamp($"invoiceDate","yyyy-MM-dd HH:mm"),"yyyy-MM-dd")
© www.soinside.com 2019 - 2024. All rights reserved.