Flink这种一般会是什么情况引起的呢?我 3秒 的窗口计算总和,但是在现场有溢些 group by 的分组无法计算出值。数据也是有在发送的。WATERMARK 也是设置了允许延迟 30s。
CREATE VIEW IF NOT EXISTS v_company_link_window_3s AS
SELECT window_start,
window_end,
company_id,
link_id,
SUM(send_bytes) AS flow_in,
SUM(recv_bytes) AS flow_out
FROM TABLE(
TUMBLE(TABLE v_company_link, DESCRIPTOR(data_time), INTERVAL ‘3’ SECONDS)) AS tmp
GROUP BY window_start,
window_end,
company_id,
link_id
;
以下为热心网友提供的参考意见
这种情况可能是由于以下原因导致的:
-
数据量过大:如果窗口内的数据量非常大,那么在计算总和时可能会出现溢出的情况。可以尝试增加窗口的大小或者调整聚合函数的参数来解决这个问题。
-
数据延迟:如果数据发送到Flink的时间与实际处理时间相差较大,那么在计算总和时可能会出现延迟。可以尝试调整WATERMARK的设置来解决这个问题。
-
分组条件不匹配:如果分组条件与实际数据不符,那么在计算总和时可能会出现无法计算出值的情况。可以尝试修改分组条件来解决这个问题。
-
聚合函数不支持:如果使用的聚合函数不支持对某些类型的数据进行计算,那么可能会出现无法计算出值的情况。可以尝试使用其他支持的聚合函数来解决这个问题。
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/14217.html