我需要基于一个密钥加入两个事件源。事件之间的间隔可能长达1年(即,id1的event1可能会在今天到达,而来自第二个事件源的id1的相应event2可能会在一年后到达)。假设我只想流式传输加入的事件输出。
我正在探索在RocksDB后端使用Flink的选项(我遇到了似乎适合我的用例的Table API)。我找不到执行这种长窗口连接的引用体系结构。我希望系统每天处理大约2亿个事件。
问题:
使用Flink进行这种长窗连接有明显的局限性/陷阱吗?]] >>
关于处理这种长窗连接的任何建议
[相关:我也在探索将Lambda与DynamoDB作为进行流连接(Related Question)的状态。如果此信息相关,我将使用托管的AWS服务。
我需要基于一个密钥加入两个事件源。事件之间的间隔可能长达1年(即,id1的event1可能会在今天到达,而id1的对应event2可能会从第二个事件源发出...
这里的主要问题是这是否为1:1连接,即流A中的记录是否与流B中的记录完全(或最多)连接一次。这很重要,因为如果您有1: 1个联接,只要将一条记录与另一条记录联接起来,就可以从该州中删除一条记录,并且全年无需保留该记录。因此,您的州仅存储尚未加入的记录。假设大多数记录已快速加入,则您的状态可能会保持很小。