Apache spark 在spark中将unix_时间戳转换为正常时间戳(秒)
作品: 代码: 我得到了输出,但是值很奇怪 例:Apache spark 在spark中将unix_时间戳转换为正常时间戳(秒),apache-spark,pyspark,pyspark-sql,Apache Spark,Pyspark,Pyspark Sql,作品: 代码: 我得到了输出,但是值很奇怪 例: 有没有关于错误可能是什么的建议?基于这个问题,OP的时间域是纪元。因此,在执行查询之前,应该将其转换为秒数 50505-01-01 将unixtimestamp传递给以下函数 df.registerTempTable("dfTbl") dfNew= spark.sql(""" SELECT *, cast(time/1000 as Timestamp) as newTIMESTMP FROM
有没有关于错误可能是什么的建议?基于这个问题,OP的时间域是纪元。因此,在执行查询之前,应该将其转换为秒数
50505-01-01
将unixtimestamp传递给以下函数
df.registerTempTable("dfTbl")
dfNew= spark.sql("""
SELECT *, cast(time/1000 as Timestamp) as newTIMESTMP
FROM dfTbl d
""")
正常的时间戳是什么意思?是否将其格式化为字符串?@Psidom nope,“格式:2018-01-01 12:00:444.0”
unix\u timestamp
是以秒为单位的整数。你不能通过转换给它增加几分之一秒?你确定吗?正如我从中看到的,unix时间戳将时间存储为秒数。你能发布你正在尝试的样本数据吗。
df.registerTempTable("dfTbl")
dfNew= spark.sql("""
SELECT *, cast(time as Timestamp) as newTIMESTMP
FROM dfTbl d
""")
50505-01-01
df.registerTempTable("dfTbl")
dfNew= spark.sql("""
SELECT *, cast(time/1000 as Timestamp) as newTIMESTMP
FROM dfTbl d
""")
def unixtodate(utime):
import datetime
current=datetime.datetime(1970,01,01,00,00,00)+datetime.timedelta(seconds=utime)
return current