我有一个JSON格式的高频数据流,其模式如下。
unique_row_id: String,
user: String,
session_id: String,
session_start: DateTime,
session_end: DateTime,
amount: Integer
例如{"unique_row_id: "A_cmd7rBBq", "user": "A", "session_id": "cmd7rBBq", "session_start": "2023-03-01 19:38:35.739", "session_end": "2023-04-01 19:38:35.739", "amount": 10}
每个用户都有一个唯一的标识符和一个会话ID,会话ID表示用户对特定产品的访问时间。会话的长度由session_start
和session_end
字段表示。
我的目标是在amount
字段上为每个用户及其会话ID应用不同的聚合指标。
固定翻转窗口:为每个uniq_row_id
应用session_start
和session_end
之间的窗口。不幸的是,我找不到任何帮助设置固定时间窗口的文档。有任何文档可以执行这种窗口操作吗?
对于这种方法,我应该考虑哪些性能方面的因素?是否可以使用Flink SQL来实现?
1条答案
按热度按时间fnx2tebb1#
我不知道Flink SQL(我假设它是受支持的),但是对于DataStream API,您将使用一个全局窗口和一个使用会话结束时间来决定何时触发的自定义触发器。