我的数据太大,无法分析,因为它是每秒收集左右。为了减少数据,我想分组为5分钟的间隔。我尝试转换成unix时间戳,并恢复回来,但没有工作。
我试过这种方法
SELECT operation,
value,
from_unixtime(unix_timestamp(update_time)/300) as interval_5
FORM storage
原始数据或输出
operation value update_time
---------- ------- --------------------
sensor 190 2021-03-18 22:37:04
sensor 191 2021-03-18 22:37:05
sensor 190 2021-03-18 22:37:06
sensor 192 2021-03-18 22:37:07
sensor 193 2021-03-18 22:37:08
所需输出
operation value update_time
---------- ------- --------------------
sensor 190 2021-03-18 22:37:04
sensor 195 2021-03-18 22:42:04
sensor 197 2021-03-18 22:47:04
sensor 194 2021-03-18 22:52:04
sensor 190 2021-03-18 22:57:04
1条答案
按热度按时间omhiaaxx1#
我不知道Hive,但要确保除法是一个整数除法,截断分数,然后乘回来,在这个过程中丢失了最后的300秒:
如果Hive Sql不截断(整数除以300),则必须使用FLOOR之类的函数来进行截断。