Mongodb Spark:Mongo Hadoop如何查询

Mongodb Spark:Mongo Hadoop如何查询,mongodb,apache-spark,mongodb-hadoop,Mongodb,Apache Spark,Mongodb Hadoop,我正在尝试使用Spark和MongoHadoop对MongoDB进行$near查询,其中lat/lon坐标发生了变化。如何使用mongo hadoop进行查询 除了像这样的事情: mongodbConfig.set(“mongo.input.query”,“{'field':'value'}”)我看不到任何有意义的东西 有什么想法吗?我建议您可以查看com.mongodb.hadoop.util.MongoConfigUtil,这里有很多配置查询设置: mongodbConfig.set("mo

我正在尝试使用Spark和MongoHadoop对MongoDB进行$near查询,其中lat/lon坐标发生了变化。如何使用mongo hadoop进行查询

除了像这样的事情:

mongodbConfig.set(“mongo.input.query”,“{'field':'value'}”)
我看不到任何有意义的东西


有什么想法吗?

我建议您可以查看
com.mongodb.hadoop.util.MongoConfigUtil
,这里有很多配置查询设置:

mongodbConfig.set("mongo.input.query","{key:{\"$eq\":20160517080039}}");
mongodbConfig.set("mongo.input.fields","{key:0}");
mongodbConfig.setInt("mongo.input.limit", 1);

上次我检查过,这是唯一的公共选项,效果不是特别好。是的,我得到的印象是,将MongoDB与Spark结合使用是一种灾难。理想的做法是在内存中使用geoqueries创建geohash索引等。我尝试在内存中使用lucene/spatial4j,这给了我mongodb的精确结果,但它比mongodb慢得多。无论如何,在内存中运行数百万个查询可能Mongodb无法很好地扩展,Lucene解决方案将获胜。我尝试过的另一件事是创建一个四叉树,ESRI总是在内存中,但我现在没有时间测试结果的质量。您能详细说明一下为什么使用
mongo.input.query
不适合您吗?i、 可以在字符串pull中替换lat/long as变量。使用正确的格式