在 Flink 运算符中轮询外部数据源



我有一个未键入的FilterFunction,它保留了一组应该过滤的项目。我需要从外部 HTTP API 定期更新此集。当项目进入时,我们会检查它们是否在列表中,如果没有,我们会过滤掉它们。

几个具体问题:

  • 是否有在FilterFunction中设置轮询器的最佳实践,例如使用ScheduledThreadPoolExecutor
  • 如何确保任何时候只有一个轮询器,希望不将过滤器的并行度设置为 1?
  • 我应该将返回的项目存储在托管ListState状态还是原始状态?

这里有一个建议,应该有助于解决你问过的一些问题:

创建执行轮询的自定义源,并行度为 1。它可以将找到的内容广播到执行过滤的一组 BroadcastProcessFunctions。将允许的项目集保留在 MapState 中,这将使筛选器查找高效。

相关内容

  • 没有找到相关文章

最新更新