如何解决数字列上的Presto时间间隔聚合
给定一个带有日期时间列和数字列的表,要求将时间列划分为间隔,并根据这些间隔聚合(平均值)数值。下面的示例可以提供有关它的详细信息:
输入数据集:
间隔为35分钟时需要输出
我可以使用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 举报,一经查实,本站将立刻删除。