首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Spark查询MongoDB进行地理空间查询

如何通过Spark查询MongoDB进行地理空间查询
EN

Stack Overflow用户
提问于 2016-01-30 04:42:45
回答 2查看 1.4K关注 0票数 2

有没有办法使用MongoDB和Spark进行地理空间查询?我不知道如何使用Stratio做到这一点。

EN

回答 2

Stack Overflow用户

发布于 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。

票数 1
EN

Stack Overflow用户

发布于 2016-01-30 05:21:55

您可以使用此library从Spark SQL查询MongoDB。MongoDB允许应用程序对地理空间数据执行以下类型的查询:包含、相交、邻近。

显然,除了地理空间运算符之外,您还可以使用所有其他运算符。现在让我们来看一些具体的例子。

这里有一个例子:查找加州的所有机场。为此,您需要获取加利福尼亚州的位置(多边形),并在查询中使用命令$geoWithin。从shell中看,它将如下所示:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35093691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档