聶竹青 陳智明 陳義明
國內外一些研究機構或公司已經開始整合和利用房地產評估數據,試圖實現自動和批量評估[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為異構數據提供了一種統一的存儲方式,為大數據的綜合、高效利用提供了技術條件。
房地產評估大數據典型地包括:位置空間信息、房地產屬性信息、房地產價格信息和房地產評估參數。房地產屬性數據是指土地、樓宇和房屋等房地產實體的物理屬性,如樓層、朝向、建造年代等房地產特征信息;房地產空間數據是指與房地產空間位置相關的數據,包括基礎地理信息、宗地圖、樓宇分布圖、地形圖等;房地產價格數據是評估的重要可比案例來源,包括買賣價格、租賃價格等。房地產評估參數數據是指與評估方法或模型相關的參數配置信息。
空間數據表示房地產位置信息,是直觀顯示房地產周圍環境的重要手段。空間數據通常以圖片數據出現,給存儲和利用帶來挑戰。目前的主要方法是采用SDE空間數據引擎技術將空間數據存儲在關系數據庫中。SDE是在常規數據庫管理系統之上添加的用于實現空間數據存儲和管理的中間件,用戶可以通過SDE技術靈活地利用關系數據庫存儲管理空間數據。這種方法需要勾畫各個圖層的柵格圖片,從關系數據庫中讀寫需要經過SDE的轉換。本文提出一種基于百度地圖表示位置信息的方式,并設計HBase表結構。
百度地圖是百度在線網絡技術(北京)有限公司開發的地圖產品,除了普通地圖的常見功能外,還具有許多強大的功能,如查找周圍興趣點旅館、酒店、銀行、超市等和自然環境如水系和道路,路徑規劃和導航,最新版還有三維地圖、實景圖片和衛星遙感實物地圖。因此,對于房地產的位置信息和一些重要屬性,我們只需要在百度地圖進行準確定位,然后基于定位從衛星或三維地圖實地查看或者搜索周圍環境,給評估提供重要依據。本文定義兩種重要對象:點和區域來描述位置和范圍。
點point:地面上某個地點在地圖上對應的表示,如某棟樓宇的位置。利用智能手機的移動網絡或GPS定位,很容易獲取某地點在地圖上得對應點。
區域area:地面上某個范圍在地圖上的對應表示,如商業區和一塊宗地。一個區域可以由一個邊界上點的集合來表示。區域可以繞著邊界運動,獲取足夠多的點圍成。
利用百度地圖提供的強大的javascript編程接口,可以很容易地在地圖上描出點和區域。
本節將以城市為單位基于HBase對房地產數據建模,按照范圍由大到小的順序設計HBase的各張表格,對于每張表,主要設計它的行關鍵字和組成列族。設計表的順序如圖2所示:

圖2 基于HBase的房地產數據建模順序圖
各表的表結構設計如下:
城市城市id,屬性列族,居住區列族,商業區列族,工業區列族,宗地列族,居民小區列族…
對于每一個區域,建立一張表,如居民小區表結構如下:
居民小區居民小區id,區域點集,屬性列族,樓宇列族
樓宇樓宇id,位置點,屬性列族,套房列族
套房套房id,屬性列族,價格列族,評估參數列族
每張表由固定的列族組成,每個列族可以含任意多個列,是相應元素的一個枚舉,如居住區列族枚舉所有居住區,每一列表示一個居住區,內容填入居住區表中的居住區id。在圖2中,從左到右,左邊列族中的列填入右邊下級表中的id。這種設計可以實現如下功能:
1.按照從左到右的順序可以獲取一個套房的所有相關信息,查看百度的三維地圖和衛星地圖,符合人們平時查詢房地產信息的習慣;
2.由套房的位置點查詢其余相關信息,如從百度地圖直接選取一個位置的房地產,查詢相關信息;
3.由于HBase的更新實際上是在相應列中插入一條帶新時間戳的數據,因此,每張表中都保存了相應對象的歷史變更,這些變更很容易查詢獲取,為房地產相關數據的分析挖掘提供了便利。
4.利用百度地圖的功能,可以獲取某棟樓宇周圍的交通、水系和其他公共設施數據;
百度地圖功能日益強大,在每天一定的訪問次數內免費使用,它提供靈活、方便的javascript api使我們能夠開發與空間數據相關的應用,避免了設計GIS柵格數據的繁瑣工作。HBase是建立在分布式文件系統上的新型數據庫系統,數據分布存儲,有很好的容錯性和可擴充性,能夠使用mapreduce編程模型并行分布訪問和計算處理,是大數據存儲的最佳工具。本文提出基于百度地圖和HBase數據庫的房地產評估大數據的整合存儲策略,解決了房地產大數據的整合和存儲問題,并且給大規模的數據訪問和分析處理開辟了廣闊的空間。