【发布时间】:2021-09-03 13:29:25
【问题描述】:
我正在尝试在pyspark 中保存时间信息(如小时、分钟、秒),而无需额外的日期信息。有没有办法做到这一点?我可以使用时间戳,但这需要将日期信息填写到一些标准的无意义日期。有没有只用于时间信息的类型?
例子:
from pyspark.sql import functions as F
df = spark.createDataFrame([('1997-02-28 10:30:00',)], ['t'])
df = (
df
.select(F.to_timestamp(df.t).alias('timestamp'))
.withColumn('time_col', F.some_function_i_dont_know(F.col('timestamp')))
)
请注意,我不想使用date_format 函数,因为它只会创建一个字符串。
【问题讨论】:
-
从你的代码中,你正在将你的“字符串”(日期+时间)转换成你想要的时间的时间戳。我可以想到几种方法,其中一种是只选择与时间相关的字符......即时间戳[-8:],或者如果你的日期时间是其他数据类型......你看过日期时间库?