我从文件中读取调用记录,并将它们转换为Dataframe中的列。在将Dataframe保存到配置单元表之前,如何将具有字符串值(实际上是格式为“yyyymmddhhmmss”的时间戳)的列转换为时间戳?我使用了下面的代码段,但在配置单元表中得到空值。据我所知,我必须指定字符串值存在的格式,即“yyyymmddhhmmss”。但不知道怎么做。我正在使用spark 2.1.1
val df2 = df.withColumn("originTimeStamp",$"originTimeStamp".cast("timestamp")
2条答案
按热度按时间gfttwv5a1#
您可以使用unix\u时间戳,如下所示
yws3nbqq2#
要将字符串值从dataframe转换为timestamp,可以使用
to_timestamp
中提供的功能org.apache.spark.sql.functions
包裹。这样地:Spark2.2及以上
对于spark 2.1及以下版本
它将为您提供以下输出:
希望有帮助!