0
我正在尝试使用Spark和mongo-hadoop对经纬度/纬度坐标进行更改的MongoDB执行$ near查询。我如何使用mongo-hadoop进行查询?Spark:Mongo-Hadoop如何查询
除了somethnig像:
mongodbConfig.set("mongo.input.query", "{'field':'value'}")
我看不出有什么意义。
有什么想法吗?
我正在尝试使用Spark和mongo-hadoop对经纬度/纬度坐标进行更改的MongoDB执行$ near查询。我如何使用mongo-hadoop进行查询?Spark:Mongo-Hadoop如何查询
除了somethnig像:
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);
使用正确的格式 –
上次我查过,这是唯一的公共选择,没有工作特别好。它也必须是严格的JSON。 – zero323
是的,我得到的印象是使用MongoDB和Spark是一种灾难。理想的工作将用于创建geohash索引等内存中的geoqueries。我尝试在内存中使用lucene/spatial4j,它给了我mongodb的确切结果,但它远比Mongoldb慢得多。无论如何,在内存中运行数百万条查询可能Mongodb不会很好地扩展,并且Lucene解决方案会赢。我尝试过的另一件事是在ESRI中创建一个QuadTree,但我没有时间测试目前结果的质量。 – Randomize
[麦哲伦](https://github.com/harsha2010/magellan)? – zero323