1 个回答
他们的差异如下:
1、Group Window比较适用
1、Group Window比较适用
周期性统计(如每分钟订单量)。
简单聚合(如SUM、AVG、COUNT)。
示例:-- 每5分钟统计订单总金额
SELECT
TUMBLE_START(event_time, INTERVAL '5' MINUTE) AS window_start,
SUM(amount) AS total_amount
FROM orders
GROUP BY TUMBLE(event_time, INTERVAL '5' MINUTE);
2、Window TVF比较适用复杂模式匹配(如检测连续登录失败)。
多步骤计算(如会话内行为分析)。
动态生成中间结果表(供下游消费)。
示例:-- 定义TVF检测异常登录模式
CREATE TEMPORARY TABLE fraud_pattern AS
SELECT user_id, COUNT(*) AS failed_attempts
FROM (
SELECT
user_id,
HOP_START(event_time, INTERVAL '5' MINUTE, INTERVAL '1' HOUR) AS window_start,
event_type
FROM login_events
)
WHERE event_type = 'FAIL'
GROUP BY user_id, HOP(event_time, INTERVAL '5' MINUTE, INTERVAL '1' HOUR);
-- 关联主表输出欺诈用户
SELECT u.user_id, f.failed_attempts
FROM users u
JOIN fraud_pattern f ON u.user_id = f.user_id;
发布于:1周前 (05-28) IP属地:
我来回答
您需要 登录 后回答此问题!