将数百万个文档从Mongo移至Kafka

时间:2018-10-09 04:22:01

标签: mongodb apache-kafka

我在Mongo DB中有1000万个文档,我希望将其作为JSON推送到Kafka,并且保持不变。

寻找最佳方法。

1。使用Mongo反应流

 Flux.from(collection.find()).doOnError(e -> {
             e.printStackTrace();
         }).doOnComplete(() -> {
             System.out.println("Finished ");
         }).subscribe(doc -> {
             // Code to insert into Kafka
         });
  1. 使用Akka流

还有其他可用的连接器吗?

还,我是否需要在订阅方法内进行多线程处理?

还有其他更好的方法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用Kafka ConnectMongoDB source connector来将数据从Mongo复制到Kafka。使用Kafka Connect更加灵活,可扩展和简单。

一个示例配置为:

name=mongodb-source-connector
connector.class=org.apache.kafka.connect.mongodb.MongodbSourceConnector
tasks.max=1
uri=mongodb://127.0.0.1:27017
batch.size=100
schema.name=yourSchemaName
topic.prefix=aPrefix # optional
databases=mydb.test,mydb.test2