数字列上的Presto时间间隔聚合

问题描述

给定一个带有日期时间列和数字列的表,要求将时间列划分为间隔,并根据这些间隔聚合(平均值)数值。下面的示例可以提供有关它的详细信息:

输入数据集:

enter image description here

间隔为35分钟时需要输出

enter image description here

我可以使用presto的序列方法创建间隔,但是无法计算给定间隔的平均值。

SELECT time_int FROM (
    SELECT * FROM (
    SELECT last_value(date_intervals) over() as inter FROM 
        (
            SELECT
            sequence(first_value("dt") over(order by "dt"),last_value("dt")
            over(order by "dt"),INTERVAL '7200' SECOND) as date_intervals,"numeric_col"

            FROM 
            "table" order by "dt"
            ) 
        t1 limit 1) 
    t3 CROSS JOIN UNnesT(inter) AS t4 ("time_int") 
    )

Hive查询也可以工作,因为它类似于presto。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)