带有Flink的大型Windows流的流加入

问题描述 投票:0回答:1

我需要基于一个密钥加入两个事件源。事件之间的间隔可能长达1年(即,id1的event1可能会在今天到达,而来自第二个事件源的id1的相应event2可能会在一年后到达)。假设我只想流式传输加入的事件输出。

我正在探索在RocksDB后端使用Flink的选项(我遇到了似乎适合我的用例的Table API)。我找不到执行这种长窗口连接的引用体系结构。我希望系统每天处理大约2亿个事件。

问题:

  1. 使用Flink进行这种长窗连接有明显的局限性/陷阱吗?]] >>

  2. 关于处理这种长窗连接的任何建议

  3. [相关:我也在探索将Lambda与DynamoDB作为进行流连接(Related Question)的状态。如果此信息相关,我将使用托管的AWS服务。

我需要基于一个密钥加入两个事件源。事件之间的间隔可能长达1年(即,id1的event1可能会在今天到达,而id1的对应event2可能会从第二个事件源发出...

apache-flink flink-streaming
1个回答
0
投票
此用例面临的明显挑战是,连接窗口的大小很大,一年,并且摄取率很高,这可能导致状态状态很大。

这里的主要问题是这是否为1:1连接,即流A中的记录是否与流B中的记录完全(或最多)连接一次。这很重要,因为如果您有1: 1个联接,只要将一条记录与另一条记录联接起来,就可以从该州中删除一条记录,并且全年无需保留该记录。因此,您的州仅存储尚未加入的记录。假设大多数记录已快速加入,则您的状态可能会保持很小。

© www.soinside.com 2019 - 2024. All rights reserved.