对于 Flink 可撤回流做聚合,当上游数据撤回时,最终聚合值变小了,怎么解决这种问题。

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

对于 Flink 可撤回流做聚合,当上游数据撤回时,最终聚合值变小了,怎么解决这种问题。

LakeShen
Hi 社区,

之前遇到一个问题,在 Flink 里面,对于一个数据流(能够撤回的)进行聚合时,当这个数据流有大量撤回时,最终聚合值会变小。这种情况之前有看到说加一个
mini batch 来减轻这种情况的影响,还有别的方法能够解决这个问题吗?

Best,
LakeShen
Reply | Threaded
Open this post in threaded view
|

Re:对于 Flink 可撤回流做聚合,当上游数据撤回时,最终聚合值变小了,怎么解决这种问题。

Michael Ran
以前做过,自定义sink,更新值小于 存储值的时候不更新
在 2021-01-25 16:00:28,"LakeShen" <[hidden email]> 写道:
>Hi 社区,
>
>之前遇到一个问题,在 Flink 里面,对于一个数据流(能够撤回的)进行聚合时,当这个数据流有大量撤回时,最终聚合值会变小。这种情况之前有看到说加一个
>mini batch 来减轻这种情况的影响,还有别的方法能够解决这个问题吗?
>
>Best,
>LakeShen
Reply | Threaded
Open this post in threaded view
|

Re: 对于 Flink 可撤回流做聚合,当上游数据撤回时,最终聚合值变小了,怎么解决这种问题。

Jessica J.Wang
In reply to this post by LakeShen
要看一下具体的Sql 或者具体的算子

下游的 sink needRetract=false的情况,有些场景可以抑制上游算子的回撤,Retract 可以优化成 Upsert



--
Sent from: http://apache-flink.147419.n8.nabble.com/