Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在spark中将unix_时间戳转换为正常时间戳(秒)_Apache Spark_Pyspark_Pyspark Sql - Fatal编程技术网

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