MongoDB 能否用作Apache Flink 的数据源 以处理流式数据?
使用 No-SQL 数据库 作为数据源的Apache Flink 的 native 实现是什么?
最佳答案
目前,Flink 没有专门的连接器来读取 MongoDB。您可以执行以下操作:
- 使用
StreamExecutionEnvironment.createInput
并使用 Flink 的包装器输入格式为 MongoDB 提供 Hadoop 输入格式 - 通过实现
SourceFunction
实现您自己的 MongoDB 源代码/ParallelSourceFunction
前者应该为您提供至少一次处理保证,因为在恢复时会完全重新读取 MongoDB 集合。根据 MongoDB 客户端的功能,您可以使用后一种方法实现恰好一次处理保证。
关于java - MongoDB 作为 Flink 的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44153519/