spark:2.4.5带scala
我的Dataframe中有一个列,它保存自epoch(1970)以来的天数。我正在寻找一种方法来转换成一个日期列。
所以我正在写一个函数如下:
def from_epochday(epochDays: Column):Column = {
date_add(to_date(lit("1970-01-01"), "YYYY-MM-DD") , epochDays /* Need to int and not a Column*/)
}
Dataframe将具有:
df.withColumn("dob", from_epochday(col(epochDays)))
问题是date\u add以int作为输入,我不知道如何获得int值。
也许我可以通过udf函数来实现,但我不会试图避免。
3条答案
按热度按时间yfwxisqw1#
一天过去了
86400
几秒钟。你可以把它和epoch天相乘得到epoch秒,然后使用from_unixtime
.gmxoilav2#
这是另一种方法。
ykejflvf3#
https://sparkbyexamples.com/spark/spark-epoch-time-to-timestamp-date/