Hive SQL 开窗函数:判断最近 24 小时数据一致性
假设有一个表 table_name,其中包含 id、value 和 timestamp 三个字段。可以使用以下 Hive SQL 语句来按照时间做开窗函数,判断最近 24 小时内数据是否一致。
SELECT
id,
value,
timestamp,
COUNT(*) OVER (PARTITION BY id, value ORDER BY timestamp RANGE BETWEEN INTERVAL '24' HOURS PRECEDING AND CURRENT ROW) AS count_within_24_hours
FROM
table_name;
这个查询将在每个 id 和 value 组内进行分区,并按照 timestamp 字段排序。然后,使用 RANGE BETWEEN INTERVAL '24' HOURS PRECEDING AND CURRENT ROW 子句将窗口设置为最近 24 小时内的所有行。最后,使用 COUNT(*) OVER 函数计算在该窗口内的行数,如果行数等于 1,则表示最近 24 小时内该 id 和 value 组的数据一致,否则不一致。
原文地址: https://www.cveoy.top/t/topic/m1qg 著作权归作者所有。请勿转载和采集!