【问题标题】:subtract seconds from epoch timestamp inside spark sql从spark sql中的纪元时间戳中减去秒数
【发布时间】:2017-03-17 07:02:24
【问题描述】:

如何使用 spark sql 从纪元时间戳中减去秒数?

我使用以下使用 spark sql 将纪元转换为日期:

date(from_unixtime((cast(timestamp as DOUBLE)) / 1000))

我想在将纪元转换为日期之前减去 60 秒

【问题讨论】:

  • 转换后为什么不减去?
  • 转换后spark sql中没有减法函数。唯一的函数是“date_diff”,它只在几天内接受输入。
  • date(from_unixtime((cast(timestamp -60*1000 as DOUBLE)) / 1000))怎么样

标签: apache-spark pyspark apache-spark-sql


【解决方案1】:
date(from_unixtime((cast(timestamp -60*1000 as DOUBLE)) / 1000))

【讨论】:

【解决方案2】:

您可以使用减号() 函数。但是数据应该是兼容的格式。

【讨论】:

  • 您能否编辑您的答案并添加 OP 必须使用的代码?据我所知,spark SQL 没有minus() 函数。您能否添加一个链接到我们可以在documentation 中找到它的位置
  • 好吧,我的错。我没有遵循。但是,给定操作,可以在常规 Dataframe 中执行,并且可以操作 minus() 函数。例如.. col("ts").cast("Long").minus(60)
猜你喜欢
  • 2018-03-04
  • 1970-01-01
  • 2018-01-22
  • 1970-01-01
  • 2012-10-18
  • 2021-10-18
  • 2018-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多