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

时间:2016-03-30 11:25:14

标签: hadoop epoch

伙计我需要帮助用基于hadoop的db编写脚本。我需要知道一个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,但结果没有变化。 看起来像是我失踪的一些非常小的东西,但如果我得到帮助,我会很感激。

2 个答案:

答案 0 :(得分:0)

我会尝试

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

  • ceil truncate to int(这是一个mysql函数)
  • startime是第二个
  • 您添加了3小时的偏移量。

答案 1 :(得分:0)

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

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