浅谈大数据时代下天地图·湖北的发展
2018-04-27范理信
范理信,党 琦,鲁 钊
(1.湖北省地图院,湖北 武汉 430074)
国家地理信息公共服务平台公众版——“天地图”,是中国区域内基础地理信息数据资源最全面的互联网地图服务网站。天地图·湖北作为天地图的省级节点,是天地图的重要组成部分,提供湖北省最新最全面的基础地理数据和地理信息公众服务。随着湖北省数据的不断增多,如何使数据有更好的查询效率和容错性,以及如何深入挖掘这些数据的价值十分重要。本文结合大数据时代的相关技术知识,阐述在大数据时代下天地图·湖北的发展。
1 大数据时代
大数据是指涉及资料量规模过大,无法透过目前的主流软件工具,在合理时间内达到撷取、管理、处理,并整理成为帮助企业经营决策更积极目的的资讯[1]。大数据有数据量大(Volume)、速度快(Velocity)、种类多(Variety)等特点。
数据量大:通常以GB为单位,甚至大量TB、PB、ZB级的数据。2016年全球数据量已达到6万亿GB,预计2020年全球数据量将达到40 ZB。
速度快:产生速度快,目前只需2 d就能创造出自文明诞生以来到2003年全球所产生的数据总量。
种类多:数据来源和类型繁多,结构化数据和文档、图片、视频等非结构化数据并存。
大数据已经开始逐渐渗入到人们社会生活的各个层面,包括地理信息(GIS)领域。在GIS领域中,“智慧城市”、导航卫星数据、高光谱分辨率的卫星图像等各种数据的不断产生,如何存储并充分利用这些大数据是地理信息研究的一个方向。
2 大数据时代对天地图·湖北的影响
2.1 天地图·湖北简述
国家地理信息公共服务平台公众版——“天地图”,是“数字中国”的重要组成部分,是中国区域内基础地理信息数据资源最全的互联网地图服务网站。加快“天地图”的建设,对提供公共服务、推动信息化进程、繁荣地理信息产业、维护国家安全意义重大。
“天地图·湖北”作为国家“天地图”主节点的省级节点,其建设目的是综合利用湖北省全省基础地理信息数据、专题数据集、多源多分辨率影像数据,为社会公众提供一站式、便捷的地理信息服务,发挥测绘成果在湖北省国民经济中的作用。
2.2 天地图·湖北数据的存储
天地图·湖北目前主要使用空间数据库的方式存储数据。空间数据库是为适应空间数据的特殊性而出现的专用数据库,用于存储空间数据所特有的位置和属性数据。
在天地图·湖北架构体系中,使用空间数据库管理、存储复杂的空间信息数据。在处理空间信息时,需要大量的数据存储和高效的计算资源。在大数据时代下,随着天地图·湖北矢量、影像、专题、地名地址、文档视频、图片等非结构化数据不断更新,不断增多的数据造成查询效率不断降低。所需要的存储空间不断增多,导致传统的空间数据库存储方式读写效率低下,可扩展性差。传统的数据管理已经不能满足日益剧增的数据量,为提高查询效率,必须对天地图·湖北数据存储模型进行升级。
2.3 天地图·湖北数据的价值
天地图·湖北数据包含基础地理信息数据,如矢量数据、影像数据、地理实体数据、地名地址数据、专题数据、文档视频、图片等多种类型数据。其中,基础地理信息数据拥有湖北省全省范围的1∶500、1∶1 000、1∶2 000、1∶10 000 DLG和0.5 m DOM数据,且富含比较全面的专题POI数据,包括社会、经济、人文、交通、行政、旅游等信息,现势性较好。
天地图·湖北中的数据主要用于查询,而对于隐含、非显见的数据挖掘分析能力较弱。在大数据时代,不断发展数据挖掘分析算法、技术,为研究探索数据的潜在价值提供有力的支撑。天地图·湖北在有数据支持作为基础的情况下,如何从数据中发现价值创造价值,是天地图·湖北发展的一个方向。
3 大数据技术与天地图·湖北的融合
3.1 数据存储模式
在大数据时代,对于传统空间数据库的各种问题,可使用大数据的相关技术来解决,如Hadoop和NoSQL数据库。
Hadoop是目前使用最广泛的云计算技术之一,主要包括HDFS分布式文件系统和Map Reduce批处理框架。HDFS全名是Hadoop Distributed File System,即Hadoop分布式文件系统,主要用于以流式数据存储超大文件[2]。在HDFS集群上数据以分块的形式存储,即文件分成若干个数据块,每个数据块64 M。数据块使用多备份机制。默认情况下在HDFS 集群的3个不同的服务器,保存一个相同的数据块。如图1所示为数据块X在HDFS上的存储模型,数据块X有3份备份存储在HDFS集群的各个节点上。
图1 数据块在HDFS上的存储模型
对于天地图·湖北数据而言,其具有数据量大、种类繁多等特点,非常适合使用HDFS存储。以天地图·湖北瓦片数据为例,将天地图·湖北发布服务的多个瓦片数据聚合在一起,形成一个大的文件,以分块的方式存储在HDFS上。用户在浏览地图查询瓦片时,根据HDFS的调度可查询任一数据块副本所在节点的数据块,从而更加高效、方便、安全地查询,使天地图·湖北具有高可靠性、高可扩展性、高吞吐率等特点。
NoSQL全名Not Only SQL,是关系型数据库之外的一种数据库——非关系型数据库,有别于传统的以表的形式存储数据,分为key-value存储、文档数据库和图数据库3类[3],适合存储非结构化数据,具有高可靠性、高可扩展性等特性,主要包括HBase、MongoDB、Cassandra、Redis等数据库。
NoSQL数据库适合存储小文件,通过使用NoSQL数据库存储天地图·湖北数据,可以将天地图·湖北发布服务的瓦片数据、图片文档数据、属性数据等存储于NoSQL数据库。
以HBase这款key-value存储的NoSQL为例,本文设计一个表名为TiandituHubeiHBase的表,将瓦片数据存储在TiandituHubeiHBase表中(如表1)。
表1 TiandituHubeiHBase表结构
在该表中,行键Rowkey是由地图服务名、级别、行、列组合而成,列族定义为image,列限定符定义为空,瓦片数据以二进制数组形式存储在单元值中。
将行键定义为组合键形式, HBase根据行键排序,将相同地图服务的瓦片数据匹配在一起。在同一个服务中,将相同级别的排列在一起。依此类推,当用户访问获取同一服务或是同一级别、同一行、同一列上的多张瓦片地图数据时,HBase定位到某一位置后,顺序扫描表即可,不需随机访问获取数据,可提高瓦片数据查询读取的效率。
将HBase表的列限定符设计为null,因为HBase通过行键、列族、列限定符和时间戳四元组定位一个单元值。在网络传输速率一定时,如果列族占用更小,则传输数据的时间消耗越少,查询速度越快。瓦片数据查询无需使用列限定符,可以将其设置为空,提高查询HBase表中瓦片数据的性能。
此外,还有多部文献介绍大数据数据存储模型。文献[4]使用HadoopMapFile文件封装瓦片存储在HDFS上;文献[5]使用HBase提出一种新的行键设计方法,将坐标数据转化为一维字符串,在行键设计的基础上设计一种新的适合存储空间数据的方式。
3.2 数据挖掘分析
在大数据时代下,数据挖掘分析算法与技术不断出现,利用大数据技术手段挖掘分析数据,提取有用信息,获得数据的价值,正在成为企业发展的必由之路。
大数据来源的多样性,造成无价值内容多,需要在数据入库之前对数据进行清洗等操作,以减少误差、降低冗余,提高数据准确性,再入库分析。数据挖掘分析流程如图2所示。
图2 数据挖掘分析流程
数据挖掘分析是获取数据价值最重要的步骤。近年来,以MapReduce等技术为代表的挖掘与分析技术日趋成熟。MapReduce是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的并行计算。它是把大规模数据集的操作,分发给一个主节点管理下的各分节点共同完成,然后通过整合各分节点的中间结果,得到最终结果[6]。
天地图·湖北中,包括各种导航数据、专题数据等。为了提取、分析天地图·湖北的有用信息,可使用MapReduce对数据进行挖掘统计分析。
以天地图·湖北中的湖北省贫困人口POI专题数据为例,由于数据量大,使用传统的分析工具效率不高。结合目前最新的大数据技术,使用MapReduce对数据进行分析,可得出湖北省内各市、县、乡、镇、区的贫困人口总数,如表2所示。
表2 天地图·湖北贫困人口表结构
以天地图·湖北中的湖北省贫困人口POI专题数据为数据源,首先经Map操作,将相同的RegionId进行合并处理;其次通过Reduce,根据MapReduce计算框架的原理,相同的RegionId会分配到同一Reduce节点进行处理。由于贫困人口数据表ID的唯一性,所以只需要计算RegionId相同的ID的数量,就可以得到某一地区贫困人口的总数。经过Map和Reduce两个步骤,最终将结果输出到HDFS上保存。MapReduce操作流程如图3所示。
图3 MapReduce操作流程
此外,还有多部文献介绍空间大数据的挖掘与分析。文献[7]基于Shark/Spark设计一个分布式空间数据分析框架;文献[8]阐述空间数据挖掘的算法,并探讨空间数据挖掘未来的发展趋势。
[1] 林媛媛,林川,何德.浅谈大数据时代下的GIS发展[J].江西测绘,2013,97(3):15-16
[2] Whte Tom. Hadoop: The Definitive Guide [M]. O’Reilly Media Inc, 2009
[3] 申德荣,于戈,王习特,等.支持大数据管理的NoSQL系统研究综述[J].软件学报,2013(8):1 786-1 803
[4] 万波,党琦,杨林.基于HDFS管理MapGIS K9瓦片地图集的研究与实现[J].计算机应用与软件,2013,30(12):232-235
[5] 丁琛.基于HBase的空间数据分布式存储和并行查询算法研究[D].南京:南京师范大学,2014
[6] 刘鹏.实战Hadoop——开启通向云计算的捷径[M].北京:电子工业出版社, 2011
[7] 温馨,罗侃,陈荣国.基于Shark/Spark的分布式空间数据分析框架[J].地球信息科学学报, 2015, 17(4):401-407
[8] 马宏斌,王柯,马团学.大数据时代的空间数据挖掘综述[J].测绘与空间地理信息,2014,37(7):19-22