有没有办法使用MongoDB和Spark进行地理空间查询?我不知道如何使用Stratio做到这一点。
发布于 2016-01-30 05:12:40
从spark查询地理空间数据的方法有很多种。使用麦哲伦https://github.com/harsha2010/magellan或hive esri地理空间工具包。https://github.com/Esri/spatial-framework-for-hadoop我从来没有尝试过来自分层的mongo库,但是使用spark数据源api或者mongo连接器,我认为你可以使用mongo语法运行地理查询,然后将它们转换成RDD或Dataframe。
发布于 2016-01-30 05:21:55
您可以使用此library从Spark SQL查询MongoDB。MongoDB允许应用程序对地理空间数据执行以下类型的查询:包含、相交、邻近。
显然,除了地理空间运算符之外,您还可以使用所有其他运算符。现在让我们来看一些具体的例子。
这里有一个例子:查找加州的所有机场。为此,您需要获取加利福尼亚州的位置(多边形),并在查询中使用命令$geoWithin。从shell中看,它将如下所示:
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 }
);结果是:
{ "name“:"Modesto市-县”,"type“:"","code”:"MOD“} ... { "name”:"San Francisco Intl","type“:"International","code”:"SFO“}{ "name”:"San Jose International","type“:"International","code”:"SJC“}
如果你想尝试其他例子,请查看这篇博客文章here。
https://stackoverflow.com/questions/35093691
复制相似问题