Apache flink 如何使用Flink处理此计算
我想用Flink做一个实时过滤器。 其思想是按键存储一个值作为累加器,并计算所有键与总和的比率 我知道不可能在键控操作符之间共享状态,因此我无法计算总值 例如:Apache flink 如何使用Flink处理此计算,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我想用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/1 ====== 第二次事件发生后,您的状态为:
感谢您的帮助创建具有以下状态的自定义有状态运算符:
int totalSum;
Map<Key,Ratio> map;
然后发出事件:k1,1/1
======
第二次事件发生后,您的状态为:
totalSum 1
map
k1, 1/1
totalSum 4
map
k1, 1/1
k2, 3/4
然后发出事件:k2,3/4
[…继续]您有任何示例如何实现这样的自定义运算符吗?@RichardGrossman我将编写一个示例,然后看一看Thanks@RichardGrossman作为善意的提醒,你可能会接受并投票决定答案