- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SpatialHadoop空间大数据拓展研究
基于SpatialHadoop空间大数据拓展研究
摘 要:文章针对空间大数据的处理框架SpatialHadoop作了系统性的研究。鉴于其在空间大数据实际应用中所存在的无法实现图属关联以及大多数空间分析空间分析不支持的问题对其做了一定程度上的扩展,首先为SpatialHadoop的默认数据类型添加了唯一的标识,并以此为基础关联了空间对象的属性信息。其次还增加了SpatialHadoop对其他类型数据的解析功能,最后扩展了空间操作对属性信息的支持。扩展后的SpatialHadoop将基本支持现有空间数据所常用的功能。
关键词:SpatialHadoop;数据类型;空间索引;空间操作;空间数据
Hadoop孕育自对海量数据的分布式存储和并行处理的应用,但因为针对的领域不同,其在对空间数据的支持设计上存在着明显的不足之处,它的核心框架不能对空间数据的空间特性做良好的支持。现有基于Hadoop的空间数据应用主要集中在特定的数据类型(如轨道的范围查询)和数据操作(如点集的最邻近查询)方面[1],SpatialHadoop应运而生。
SpatialHadoop是第一个基于MapReduce计算框架的空间大数据处理框架,它对空间数据具有原生支持的特性[1]。
对于空间数据而言,位置和属性都不可或缺。然而,SpatialHadoop的核心框架并没有考虑空间对象的属性信息,纯粹的位置信息也不利于对空间数据进行复杂的空间分析。为了契合实际应用,必须对现有SpatialHadoop框架作必要的扩展。
1 空间大数据框架
1.1 SpatialHadoop简介
SpatialHadoop对Hadoop做了全面的扩展[2],使其核心功能可以支持空间数据[1]。SpatialHadoop扩展了高级语言Pig Latin并取名为Pigon,不仅保留了Pig Latin的原本特性,同时还增加了支持空间数据的特性。不仅如此,SpatialHadoop还在框架中增加了两级空间索引结构[1-4],较大程度地提高了处理空间数据的效率。另外,SpatialHadoop基于MapReduce框架还开发集成了两种基本空间组件和一系列的空间操作[2-4],大大简化了空间大数据应用的开发工作[5]。
1.2 SpatialHadoop的基本功能
SpatialHadoop集群扩展自Hadoop集群,它和Hadoop集群一样都是拥有一个主节点和多个从节点的结构,主节点用来接收用户的查询请求,并将请求的任务(Map/Reduce任务)分割为较小的任务,这些小的任务将分配给不同的从节点来执行[1-2,4]。
SaptialHadoop在分布式文件系统(Hadoop Distributed File System,HDFS)堆文件的基础上增加了空间索引,通过增加索引克服了Hadoop仅支持无索引的堆文件的限制[1]。并将其组织成两级空间索引结构,即全局索引和本地索引[1-4]。
全局索引保存在主节点的内存中,而每一个本地索引都存储在从节点的文件块中[1-4]。将索引组织成全局和本地两个层次是因为这样的分离模式符合MapReduce的编码范式[4]。全局索引用于准备MapReduce工作,而本地索引用于处理Map任务[2]。
空间索引都在Hadoop的HDFS中得以实现,这样可以高效的访问存储在HDFS中的空间数据,而不仅仅是让数据成为堆在Hadoop中的文件[2-3]。对于空间信息而言,增加时间维度的信息具有重要的意义,在SpatialHadoop中可以通过在存储层增加时空索引信息来实现,分片时将考虑空间和时间两种要素[2,4]。
SpatialHadoop为空间数据集建立了一套空间索引机制,那么在空间数据的处理和操作时怎样获取这些索引。为此SpatialHadoop在MapReduce层新增了两个新的组件,SpatialFileSplitter和SpatialRecordReader[1-4],可以通过这两个组件获取空间数据建立的索引。
空间索引的建立以及MapReduce层新增的组件保证了SpatialHadoop可以实现高效的空间操作功能。SpatialHadoop实现了3种基本的空间操作,分别是范围查询、最邻近点查询和空间连接操作[3]。SpatialHadoop还调用CG_Hadoop计算几何库函数实现了计算几何操作[4,7]。
SpatialHadoop并没像HiveQL和Pig Latin等语言一样从底层开发一种新的空间开发语言[2,5]。它在Pig Latin的基础上进行了空间方面的扩展,增加了对空间数据类型、空间基础功能以及空间操作的支持,并且遵循OGC的标准[5]。这样
文档评论(0)