在流处理中从大型数据集过滤

时间:2020-04-07 13:27:33

标签: apache-spark apache-flink apache-storm flink-streaming stream-processing

我正在开发流应用程序,输入流是一系列事件。对于每个事件,我需要从关系数据库中过滤掉有效的订户。

eventId => (eventId, [subscriberIds])

假设订阅表是有界的(如果方便的话,是无界的),并且有数百万行,是否有办法有效地进行此过滤?

假设我正在使用Flink,但是我也愿意使用Spark或Storm解决方案。

1 个答案:

答案 0 :(得分:1)

假设有效订户的集合正在不断更新,并且您在执行此验证时不得使用过时的信息,则Flink提供了两种选择:

  1. 使用Flink的异步I / O运算符来管理对关系数据库的查询
  2. 通过在其更改数据捕获流中进行流传输,将关系数据库的镜像保持为Flink状态