将epoch时间戳转换为impala的15分钟间隔

busg9geu  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(550)

伙计们,我需要帮助写一个基于hadoop的数据库脚本。我需要知道一个unixtime或相关的公式,将时间戳转换成可读的15分钟间隔。目前我正在使用下面的公式转换成完全可读的时间戳。

from_unixtime(starttime+3*3600,"yyyy/MM/dd HH:mm")

它给我的输出像:

date_t
2016/03/10 01:24
2016/03/10 12:22
2016/03/10 04:48
2016/03/10 04:25
2016/03/10 14:19

但我需要这样:

date_t
2016/03/10 01:00
2016/03/10 01:15
2016/03/10 01:30
2016/03/10 01:45

我试着把它乘以900而不是3600,但结果没有变化。似乎是一些很小的东西,我错过了,但如果我得到帮助,将不胜感激。

swvgeqrz

swvgeqrz1#

我找到了这样的解决方法:

from_unixtime((starttime+3*3600)-(starttime+3*3600)%900,"yyyy/MM/dd HH:mm")
rsaldnfx

rsaldnfx2#

我会努力的

from_unixtime(3*3600+900*ceil(starttime/900),"yyyy/MM/dd HH:mm")

我想是的 ceil 截断为int(这是一个mysql函数) startime 是秒数
添加3小时的偏移量。

相关问题