如何通过Spark查询MongoDB进行地理空间查询
有没有办法将MongoDB与Spark一起用于地理空间查询?我不知道如何使用Stratio实现这一点。有很多方法可以从spark查询地理空间数据。使用麦哲伦或hive esri地理空间工具包。如何通过Spark查询MongoDB进行地理空间查询,mongodb,apache-spark,Mongodb,Apache Spark,有没有办法将MongoDB与Spark一起用于地理空间查询?我不知道如何使用Stratio实现这一点。有很多方法可以从spark查询地理空间数据。使用麦哲伦或hive esri地理空间工具包。 我从未尝试过stratio中的mongo Librarie,但使用spark数据源api或mongo连接器,我认为您可以使用mongo语法运行地理查询,然后将其转换为RDD或数据帧。您可以使用此工具从spark SQL查询MongoDB。 MongoDB允许应用程序对地理空间数据执行以下类型的查询:包含、
我从未尝试过stratio中的mongo Librarie,但使用spark数据源api或mongo连接器,我认为您可以使用mongo语法运行地理查询,然后将其转换为RDD或数据帧。您可以使用此工具从spark SQL查询MongoDB。 MongoDB允许应用程序对地理空间数据执行以下类型的查询:包含、交叉、接近 显然,您将能够使用除地理空间操作符之外的所有其他操作符。现在让我们看一些具体的例子 以下是一个例子: 找到加州所有的机场。为此,您需要获取加利福尼亚位置(多边形),并在查询中使用命令$geointen。从外壳上看,它看起来像:
use geo
var cal = db.states.findOne( {code : "CA"} );
db.airports.find(
{
loc : { $geoWithin : { $geometry : cal.loc } }
},
{ name : 1 , type : 1, code : 1, _id: 0 }
);
结果是:
{“名称”:“莫德斯托市-县”,“类型”:“代码”:“MOD”}
...
{“名称”:“旧金山国际”,“类型”:“国际”,“代码”:“SFO”}
{“名称”:“圣何塞国际”,“类型”:“国际”,“代码”:“SJC”}
如果您想尝试其他示例,请查看这篇博文。麦哲伦目前无法进行近距离查询。Esri听起来很有趣。如何使用stratio运行邻近查询?