我想使用Flink进行实时滤波器。这个想法是由键存储为累加器的键,并计算所有密钥的总和的比率。
我知道不可能在钥匙操作员之间共享状态,因此我无法计算总价值
示例:
- k1,1
- K2,3
- k1,1
- K2,5
- K3,0
我需要在流上计算以下比率1/1、3/4、2/5、8/10、0(始终被过滤(等...
感谢您的帮助
创建具有以下状态的自定义状态运算符:
int totalSum;
Map<Key,Ratio> map;
每个事件都会增加总和,然后根据事件密钥更新地图。
示例:
第一事件后k1,1
您的状态是:
totalSum 1
map
k1, 1/1
您发出事件:k1, 1/1
=======
第二事件后k2,3
您的状态是:
totalSum 4
map
k1, 1/1
k2, 3/4
您发出事件:k2, 3/4
[..继续]