问题描述
给定一个带有日期时间列和数字列的表,要求将时间列划分为间隔,并根据这些间隔聚合(平均值)数值。下面的示例可以提供有关它的详细信息:
输入数据集:
间隔为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 (将#修改为@)