[发明专利]一种基于SPARK的分布式空间二级索引与范围查询算法有效
申请号: | 201910456129.6 | 申请日: | 2019-05-29 |
公开(公告)号: | CN110175175B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 汪祖民;季长清;秦静 | 申请(专利权)人: | 大连大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453 |
代理公司: | 大连智高专利事务所(特殊普通合伙) 21235 | 代理人: | 毕进 |
地址: | 116622 辽宁省*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 分布式 空间 二级 索引 范围 查询 算法 | ||
一种基于SPARK的分布式空间二级索引与范围查询算法,属于数据查询领域,为了解决非行键属性实时范围查询的问题,框架由以下几部分组成:客户端、Spark计算模块、HBase数据处理模块;算法执行如下:在HBase数据处理模块和Spark计算模块的Schema基础上调用SparkContext提供的API建立HBase的原始数据的RDD,RDD经过不断转化形成二级索引存放在Spark Memory中,效果是提高了大规模空间数据范围查询的效率。
技术领域
本发明属于数据查询领域,涉及一种基于SPARK的分布式空间二级索引与范围查询算法。
背景技术
空间索引可以解决空间数据近邻查询问题,但是不能解决非行键属性实时范围查询的问题。而现有的二级索引的设计灵感来源于倒排的思想,将主数据表的键值对倒置。Solr是一个高性能的基于Lucene的企业级全文搜索服务器,Solr+HBase的二级索引方案是基于Solr集群搭建的搜索引擎来查找结构化数据,基于HBase搭建的数据存储云来存储海量数据。
发明内容
为了解决非行键属性实时范围查询的问题,本发明提出如下技术方案:一种基于SPARK的分布式空间二级索引与范围查询算法:给定一个空间对象集合S,再给定一查询点P=(Lng,Lat)和查询半径d,在集合S中存在集合R={R1,R2...Ri}与查询点P距离小于d,记为RQ(P,S):
范围查询算法使用两阶段处理策略,第一阶段是索引的筛选,首先需要计算出查询目标大致所在的GeoHash单元网格,称作MBR,通过查找RDD中的索引表单元筛选出所有MBR作为候选集,第二阶段是遍历求精,通过二次计算与查询点的距离从候选集中求得满足查询要求的最终结果;将构建的索引转为RDD的形式被存储到内存中,在进行范围查询的时候,利用Spark的转化操作算子mapPartitions并行执行查询任务;在空间二级索引的支持下,基于Spark的范围查询的详细过程如算法如下:已知查询点P的空间位置信息和查询半径d;首先,调用geo对象的getGeoCode方法,此方法封装了以给P为圆心,d为半径画圆,返回落在圆内和与圆相交的编码区域,得到结果集所在的GeoHash编码区域集合Kn;然后,子节点收到task任务后对空间索引RDD的分片进行检索,将检索结果并入结果集;最后,通过再次扫描筛掉结果集中实际距离大于查询半径d的数据,并返回最终结果。
有益效果:本发明提出了融合Spark查询框架和空间索引技术的实时查询方案,来提高大规模空间数据范围查询的效率。在该查询框架内的Spark担任实时计算的角色,二级索引以RDD的形式供查询实时调用。Spark强大的分布式内存计算优势能极大地提高大规模数据处理的速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连大学,未经大连大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910456129.6/2.html,转载请声明来源钻瓜专利网。