论文部分内容阅读
随着海量空间数据的不断膨胀以及地理信息系统应用的愈加广泛,云GIS的发展成为时代的必然。如何更好的应对挑战,即,如何在云计算的环境下优化空间数据的分析查询是一个亟待解决的重要问题。空间数据库经过多年的发展,目前已有一些优秀的产品如Oracle Spatial、BeyonDB等。它们的优势是能高效地进行属性数据与空间数据一体化管理,具有空间索引等数据库的特性。同时,随着技术的发展,分布式空间数据处理平台也不断出现,如Hadoop GIS、MRGIS等。为在云计算环境下优化空间数据管理,实现分布式空间计算的目标,人们开始考虑将数据库对空间数据的高效管理与分布式计算框架对复杂计算的并行快速反应进行结合,即将空间数据计算的各家优势集合在一起。 本研究提出一种在分布式计算引擎(Shark/Spark)中集合之关键技术(包括数据映射、数据加载、数据备份及空间查询等),将空间数据库对空间数据的高效存储、索引及查询优势与分布式计算引擎对复杂计算的优势相结合,实现一种基于Shark/Spark的分布式空间数据分析框架,通过实现空间计算函数,探索分布式环境下基于Shark/Spark计算框架的进行复杂空间分析的解决方案。 在具体实现中,通过空间自定义函数和空间函数下推2种方式实现空间数据分析框架;并通过在Spark中集成Shark,实现基于空间索引的kNN的空间计算。实践表明,采用分布式框架Shark/Spark与SDBMS结合的方式处理空间查询与分析是可行的,通过实验对比结果可看出:(1)对于影响返回结果数据量的空间查询适合下推给SDBMS完成,而不影响返回结果数据量的空间查询,利用分布式计算引擎直接运算更具有优势。(2)建立空间索引能有效提高空间数据的检索分析速度,无论是利用SDBMS自身的空间索引,或是在分布式框架中实现空间索引,都可有效提高SDBMS在分布式环境下处理复杂数据分析的能力。