我正在尝试创建一个名为 load_time_stamp
在pyspark的Dataframe中,它应该只包含今天的日期和时间,直到秒,不应该包含毫秒。
我已经为相同的内容编写了下面的代码,但是使用它,一个新的列将被创建为空值,而不是我所期望的时间戳值。
from pyspark.sql import functions as F
x.withColumn("load_time_stamp", F.to_timestamp(F.substring(F.current_timestamp(), 0, 19), "yyyy-MM-dd'T'HH:mm:ss")).show()
2条答案
按热度按时间vd8tlhqk1#
你可以用
date_format
取而代之的是:请注意
to_timestamp
从给定格式转换时间戳,而date_format
将时间戳转换为给定格式。你不需要这么做substring
当前时间戳是因为date_format
将在格式化为所需格式时处理该问题。bq3bfh9z2#
如果您想得到一个只有秒精度的timestamp类型列,那么可以使用
from_unixtime
功能。例子: