如何用flink处理此计算



我想使用Flink进行实时滤波器。这个想法是由键存储为累加器的键,并计算所有密钥的总和的比率。

我知道不可能在钥匙操作员之间共享状态,因此我无法计算总价值

示例:

  1. k1,1
  2. K2,3
  3. k1,1
  4. K2,5
  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

[..继续]

相关内容

  • 没有找到相关文章

最新更新