Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flink 如何使用Flink处理此计算_Apache Flink_Flink Streaming - Fatal编程技术网

Apache 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 ====== 第二次事件发生后,您的状态为:

我想用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

    ======

    第二次事件发生后,您的状态为:

    totalSum 1
    map 
       k1, 1/1
    
    totalSum 4
    map 
       k1, 1/1
       k2, 3/4
    
    然后发出事件:
    k2,3/4


    […继续]

    您有任何示例如何实现这样的自定义运算符吗?@RichardGrossman我将编写一个示例,然后看一看Thanks@RichardGrossman作为善意的提醒,你可能会接受并投票决定答案