在火花中将unix_timestamp转换为普通时间戳(以秒为单位)

时间:2018-08-02 20:14:52

标签: apache-spark pyspark pyspark-sql

df.schema

op:

StructField(time,LongType,true)

代码:

df.registerTempTable("dfTbl")
dfNew= spark.sql("""
                 SELECT *, cast(time as Timestamp) as newTIMESTMP 
                 FROM dfTbl d
              """)

我正在获取输出,但是值很奇怪。

例如:

50505-01-01

关于错误可能是什么的任何建议?

2 个答案:

答案 0 :(得分:0)

基于该问题,OP具有时代的时间字段。因此,应在执行查询之前将其转换为秒。

os.listdir()

答案 1 :(得分:0)

将您的unixtimestamp传递给以下函数

def unixtodate(utime):
  import datetime
  current=datetime.datetime(1970,01,01,00,00,00)+datetime.timedelta(seconds=utime)
  return current