Python 如何比较两种格式(bigint和timestamp)的时间状态?

Python 如何比较两种格式(bigint和timestamp)的时间状态?,python,pyspark,Python,Pyspark,我有两个时间戳变量,t1是bigint,t2是时间戳 pyspark.sql.utils.AnalysisException:u“无法解析”(t2>= 1536796800000L)“由于数据类型不匹配:中的类型不同 (t2>=1536796800000升) 如何比较不同格式的时间戳?我个人建议使用arrow模块 import arrow var = 1536796800 var = arrow.get(str(var)).datetime 我得到ValueError:year超出范围@Ma

我有两个时间戳变量,
t1
是bigint,
t2
是时间戳

pyspark.sql.utils.AnalysisException:u“无法解析”(
t2
>= 1536796800000L)“由于数据类型不匹配:中的类型不同 (
t2
>=1536796800000升)


如何比较不同格式的时间戳?

我个人建议使用arrow模块

import arrow

var = 1536796800
var = arrow.get(str(var)).datetime

我得到
ValueError:year超出范围
@Markus,您有一个非标准的时间表示形式,尽管很常见。也就是说,从unix纪元开始,您有毫秒(而不是秒).除以1000就可以解决这个问题。它解决了这个问题。@pault所指的线程并不完全是我需要的。它回答了他的问题。@eatmeimadanish我错过了OP最后一条评论中的“不是”(读作:“线程正是我需要的”)。无论如何,你的代码在python中是很好的,但它不能用于spark数据帧(它肯定不会修复该错误消息)。如果OP说它有效,那就这样吧。可能重复的.tl;dr:您需要将其中一列转换为另一种类型。有一些函数可以完成此操作,但这也取决于您的spark版本。请更新您的问题,以包括a和您的spark版本。