基于HBase的房地产评估大数据整合策略
2016-06-20聂竹青陈智明陈义明
聂竹青 陈智明 陈义明
国内外一些研究机构或公司已经开始整合和利用房地产评估数据,试图实现自动和批量评估[1, 3-6]。他们都基于关系数据模型建模,使用传统关系数据库管理系统。对于表示地理信息的空间数据,采用连接数据库的GIS地理信息系统开发引擎,将空间数据存入关系数据库中,甚至有的直接使用文件存储图片。传统关系数据库的存储方式有如下问题:
1.传统关系型数据库大多集中存储,即使是分布存储,也有非常严格的限制,不利于存储容量的大规模扩充。
2.尽管关系型数据库可以通过阵列和存储网络扩充容量,但对这些存储的访问仍然是集中的,不能利用分布式计算能力,成为数据分析的瓶颈。
一、大数据技术
按照百度百科的观点,大数据或称巨量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内撷取、管理、处理、并整理成为帮助企业经营决策等积极目的的信息。
大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。如果采用传统的关系数据库存储和计算方式,这些数据将会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作,需要将数据存在先进的分布式数据库如HBase(Hadoop Database)中。正在广泛试用的大数据存储和分析平台是基于hadoop的开源软件栈,它的体系结构如图1所示。
图1 基于hadoop的大数据平台体系结构
HDFS Hadoop Distributed File System,即分布式文件系统,是整个大数据平台的基础和核心。HDFS有高容错性的特点,可以部署在价格低廉的硬件设备上。能够按照实际需求很方便扩充文件系统的存储容量。它提供高吞吐量来访问应用程序的数据,适合那些有超大规模数据集的应用程序,是大数据存储和处理的基础。
MapReduce基于HDFS文件系统,采用“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各分节点共同并行完成,接着通过整合各分节点的中间结果,得到最终的结果。简单地说,MapReduce就是“任务的分散与结果的汇总”。
HBase是一个高可靠性、高性能、可伸缩的分布式数据库,利用该技术可在廉价PC Server上搭建起大规模结构化存储集群。它是Google Bigtable的开源实现,使用HDFS作为文件存储系统,利用MapReduce来处理HBase中的海量数据。HBase的表可以想象成一个大的映射关系,每一行都有一个可排序的主键和任意多的列,同一张表里面的每一行数据都可以有截然不同的列,数据是稀疏存储的。列名字的格式是
表1 HBase数据的概念视图
二、房地产评估大数据
(一)房地产大数据的范围
基于房地产评估数据的特点,同时也受限于评估方法以及数据现状,数据的范围与组织方式也不相同。如加拿大的Stephen Foster和Stanley Hamilton在构建不列颠哥伦比亚省的评估机构(The British Columbian Assessment Authority of BCAA)时,将数据组织为产权标识数据、土地数据、住宅改进数据、商业改进数据和销售数据,其他所有数据都挂接在财产标识数据下。IAAO 在《Mass Appraisal of Real Property》中将批量评估数据划分为所有权数据、销售数据、收入和支出数据、成本数据、地图数据(地籍图、税务地图)等,并通过数据清单手册来定义属性特征和格式。耿继进等人根据房地产数据的特征、含义及是否含有空间信息,将房地产评估数据组织为房地产属性数据、房地产空间数据、房地产价格数据和房地产评估参数数据四大类。陈杰雷认为房地产估价咨询数据库的数据来源分为4部分:
1.中介房源资料信息、交易信息和评估公司的评估报告;
2.政府部门,如统计局、房地产行业协会发布的房地产数据:房地产企业土地购置价格、商品房销售均价等;
3.各类相关专业机构(如中国经济统计快报、中国房地产统计年鉴)发布的统计数据,如房屋销售价格指数、房屋租赁价格指数、土地交易价格指数等;
4.相关网站抓取的数据。
目前,房地产大数据尚没有一个权威的定义,我们认为:房地产评估大数据是有关房地产的位置空间信息、属性信息、交易信息以及其他与房地产相关的政策、经济信息的集合。本文中我们将以房地产空间数据、属性数据、价格数据和评估参数数据为例说明基于HBase的数据建模方式。
(二)房地产大数据的获取途径和技术
房地产大数据的存在范围很广,涉及到国土、规划、房管、房产中介、评估公司和物价等部门或公司,根据实际情况,这些数据可以有如下几种收集方式:
1.自整:即将自己公司多年积累下来的数据资料信息化;
2.外购:从外部如房地产中介公司购买一些交易数据,这些交易价格数据可能比房产管理部门的数据更准确;
3.外采:组织人员使用一些工具手段实地采集数据,如后面将阐述的房屋位置点或宗地范围就可以利用现在的智能手机终端轻易获取。如果购买数据的代价高于外采,则可以考虑这种方法;
4.搜索:很多房地产信息都发布在网络上,特别是一些行业专业网站的信息尤其丰富,可以利用网络爬虫对这些网站进行垂直搜索,使用现代信息检索技术从中提取感兴趣的数据。
随着大数据在全球利用步伐的加快,各种各样的数据开放联盟相继建立,如中国香港就已经加入了数据开放联盟,如果国内能够尽快的意识到数据开放的重要性,数据获取费用将大幅降低,可利用的数据将更加丰富多样。
(三)大数据整合需要解决的问题
整合来自不同部门、不同数据库的数据,可能会出现如下问题:
一是数据不一致:同一个概念在不同系统中有不同的术语,或者同一个术语在不同的系统中表示不同的含义,即使同一个术语,数据的表示形式上可能还是不同,如数据单位的问题。解决这个问题需要建立行业数据标准,开发不同数据之间的转换规则,即元数据。
二是数据异构:大数据的一个特征就是多样性,除了传统的结构化数据外,还有大量的非结构化数据,如声音和图片等。数据的异构特性阻碍了大数据的综合利用。分布式数据库系统HBase为异构数据提供了一种统一的存储方式,为大数据的综合、高效利用提供了技术条件。
三、基于HBase的房地产大数据存储策略
房地产评估大数据典型地包括:位置空间信息、房地产属性信息、房地产价格信息和房地产评估参数。房地产属性数据是指土地、楼宇和房屋等房地产实体的物理属性,如楼层、朝向、建造年代等房地产特征信息;房地产空间数据是指与房地产空间位置相关的数据,包括基础地理信息、宗地图、楼宇分布图、地形图等;房地产价格数据是评估的重要可比案例来源,包括买卖价格、租赁价格等。房地产评估参数数据是指与评估方法或模型相关的参数配置信息。
空间数据表示房地产位置信息,是直观显示房地产周围环境的重要手段。空间数据通常以图片数据出现,给存储和利用带来挑战。目前的主要方法是采用SDE空间数据引擎技术将空间数据存储在关系数据库中。SDE是在常规数据库管理系统之上添加的用于实现空间数据存储和管理的中间件,用户可以通过SDE技术灵活地利用关系数据库存储管理空间数据。这种方法需要勾画各个图层的栅格图片,从关系数据库中读写需要经过SDE的转换。本文提出一种基于百度地图表示位置信息的方式,并设计HBase表结构。
(一)百度地图表示空间数据
百度地图是百度在线网络技术(北京)有限公司开发的地图产品,除了普通地图的常见功能外,还具有许多强大的功能,如查找周围兴趣点旅馆、酒店、银行、超市等和自然环境如水系和道路,路径规划和导航,最新版还有三维地图、实景图片和卫星遥感实物地图。因此,对于房地产的位置信息和一些重要属性,我们只需要在百度地图进行准确定位,然后基于定位从卫星或三维地图实地查看或者搜索周围环境,给评估提供重要依据。本文定义两种重要对象:点和区域来描述位置和范围。
点point:地面上某个地点在地图上对应的表示,如某栋楼宇的位置。利用智能手机的移动网络或GPS定位,很容易获取某地点在地图上得对应点。
区域area:地面上某个范围在地图上的对应表示,如商业区和一块宗地。一个区域可以由一个边界上点的集合来表示。区域可以绕着边界运动,获取足够多的点围成。
利用百度地图提供的强大的javascript编程接口,可以很容易地在地图上描出点和区域。
(二)基于Hbase的房地产大数据存储设计
本节将以城市为单位基于HBase对房地产数据建模,按照范围由大到小的顺序设计HBase的各张表格,对于每张表,主要设计它的行关键字和组成列族。设计表的顺序如图2所示:
图2 基于HBase的房地产数据建模顺序图
各表的表结构设计如下:
城市城市id,属性列族,居住区列族,商业区列族,工业区列族,宗地列族,居民小区列族…
对于每一个区域,建立一张表,如居民小区表结构如下:
居民小区居民小区id,区域点集,属性列族,楼宇列族
楼宇楼宇id,位置点,属性列族,套房列族
套房套房id,属性列族,价格列族,评估参数列族
每张表由固定的列族组成,每个列族可以含任意多个列,是相应元素的一个枚举,如居住区列族枚举所有居住区,每一列表示一个居住区,内容填入居住区表中的居住区id。在图2中,从左到右,左边列族中的列填入右边下级表中的id。这种设计可以实现如下功能:
1.按照从左到右的顺序可以获取一个套房的所有相关信息,查看百度的三维地图和卫星地图,符合人们平时查询房地产信息的习惯;
2.由套房的位置点查询其余相关信息,如从百度地图直接选取一个位置的房地产,查询相关信息;
3.由于HBase的更新实际上是在相应列中插入一条带新时间戳的数据,因此,每张表中都保存了相应对象的历史变更,这些变更很容易查询获取,为房地产相关数据的分析挖掘提供了便利。
4.利用百度地图的功能,可以获取某栋楼宇周围的交通、水系和其他公共设施数据;
(三)前景和展望
百度地图功能日益强大,在每天一定的访问次数内免费使用,它提供灵活、方便的javascript api使我们能够开发与空间数据相关的应用,避免了设计GIS栅格数据的繁琐工作。HBase是建立在分布式文件系统上的新型数据库系统,数据分布存储,有很好的容错性和可扩充性,能够使用mapreduce编程模型并行分布访问和计算处理,是大数据存储的最佳工具。本文提出基于百度地图和HBase数据库的房地产评估大数据的整合存储策略,解决了房地产大数据的整合和存储问题,并且给大规模的数据访问和分析处理开辟了广阔的空间。