Mongodb ApacheFlink流中的数据库查询

Mongodb ApacheFlink流中的数据库查询,mongodb,stream,hbase,apache-flink,Mongodb,Stream,Hbase,Apache Flink,我正在学习ApacheFlink,这给我留下了深刻的印象。那里使用的数据处理技术令人兴奋,让我心碎:) 但我现在所处的位置是混合溪流和批次。我的意思是。我有一个流处理程序,它接收一些数据。例如,此数据是命令。为了处理这样的命令,我需要对数据库(HBase或Mongo)进行查询,当然查询取决于命令。数据库是巨大的(数TB)。HBase和Mongo都允许通过MapReduce进行并行操作,使用它将非常好。在一系列请求之后,将隐含一些并行计算,并最终将结果发送到接收器 那么,如何以最好的方式解决这个问

我正在学习ApacheFlink,这给我留下了深刻的印象。那里使用的数据处理技术令人兴奋,让我心碎:)

但我现在所处的位置是混合溪流和批次。我的意思是。我有一个流处理程序,它接收一些数据。例如,此数据是命令。为了处理这样的命令,我需要对数据库(HBase或Mongo)进行查询,当然查询取决于命令。数据库是巨大的(数TB)。HBase和Mongo都允许通过MapReduce进行并行操作,使用它将非常好。在一系列请求之后,将隐含一些并行计算,并最终将结果发送到接收器


那么,如何以最好的方式解决这个问题呢?我应该在flatMap中进行standart数据库查询还是使用DataSet/Stream?

在flatMapping数据时,您的流媒体作业似乎将访问外部数据库。一种选择是在Flink流媒体中使用AsyncIO。请参考AsyncIOExample了解实际使用情况。AsyncIO将以并行方式处理多个输入记录,同时访问外部数据库。另一种方法是增加任务的并行性,就像映射/减少任务一样。谢谢你的建议。我一定会用这个。