【问题标题】:How to compare timestates in two formats (bigint and timestamp)?如何比较两种格式(bigint 和时间戳)的时间状态?
【发布时间】:2018-09-13 13:51:11
【问题描述】:

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

pyspark.sql.utils.AnalysisException: u"cannot resolve '(t2 >= 1536796800000L)' 由于数据类型不匹配:不同类型 '(t2 >= 1536796800000L)

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

【问题讨论】:

标签: python pyspark


【解决方案1】:

我个人建议使用箭头模块。

import arrow

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

【讨论】:

  • 我收到ValueError: year is out of range
  • @Markus,你有一个非标准的,虽然很常见的时间表示。也就是说,自 unix 纪元以来,您有几毫秒(而不是秒)。除以 1000 可以解决这个问题。
  • 它解决了这个问题。 @pault 指向的线程并不是我所需要的。
  • 它回答了他的问题。
  • @eatmeimadanish 我错过了 OP 最后评论中的“不”(读作:“线程正是我需要的”)。在任何情况下,您的代码在 python 中都很好,但它不适用于 spark 数据帧(它肯定不会修复该错误消息)。如果 OP 说它有效,那就这样吧。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 2021-04-25
  • 2012-02-04
  • 1970-01-01
  • 2016-08-06
相关资源
最近更新 更多