- 无限数据源,有限数据源
- DataStream
- EventTime 与 Watermark
1 | 当我们说“统计过去一小时内点击量”,这里的“一小时”是指什么呢? 在 Flink 中它可以是指 ProcessingTime ,也可以是 EventTime,由用户决定。 |
一般需要基于业务的EventTime 来处理
1 | // 1. 告诉 Flink 我们现在按照 EventTime 模式进行处理,Flink 默认使用 ProcessingTime 处理,所以我们要显式设置下 |
1 | Watermark 是用来追踪业务事件的概念,可以理解成 EventTime 世界中的时钟,用来指示当前处理到什么时刻的数据了。由于我们的数据源的数据已经经过整理,没有乱序,即事件的时间戳是单调递增的,所以可以将每条数据的业务时间就当做 Watermark。这里我们用 AscendingTimestampExtractor 来实现时间戳的抽取和 Watermark 的生成。 |
文件来模拟真实数据源,本地验证 Flink 应用程序正确性的常用方式
5分钟滑动一次,查看指定动作(开聊,发消息)最多的用户,推出来。【important】 设置一个阈值,可以调整,比如3分钟开聊最多的。
然后过滤。过滤正常的用户。
状态特征。
实时特征的存储。
安全的一个方向。