艾麗蓉,劉云峰
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710129)
智慧城市(smart city)是把新一代信息技術(shù)充分運(yùn)用到城市運(yùn)行和管理的各行業(yè),用以分析、整合城市運(yùn)行核心系統(tǒng)的各項(xiàng)關(guān)鍵信息,從而對(duì)各行業(yè)的多種需求做出智能響應(yīng)[1-3]。其實(shí)質(zhì)是運(yùn)用先進(jìn)的信息技術(shù),實(shí)現(xiàn)信息化、工業(yè)化與城鎮(zhèn)化的深度融合,對(duì)于提高城市生活質(zhì)量有顯著作用[2]。
智慧城市在運(yùn)行過(guò)程中產(chǎn)生的大量數(shù)據(jù)是智慧城市寶貴的資源,通過(guò)對(duì)這些數(shù)據(jù)的收集、匯總、分析,能夠體現(xiàn)出城市各部門(mén)、系統(tǒng)的運(yùn)行情況,幫助管理者做出最符合城市發(fā)展的決策。大數(shù)據(jù)與智慧城市的關(guān)系可表述為:物聯(lián)網(wǎng)技術(shù)的運(yùn)用推動(dòng)大數(shù)據(jù)的發(fā)展,大數(shù)據(jù)的發(fā)展又成為智慧城市的發(fā)展的基石,智慧城市的衡量指標(biāo)由大數(shù)據(jù)來(lái)體現(xiàn)。
為了應(yīng)對(duì)智慧園區(qū)項(xiàng)目運(yùn)行過(guò)程中所產(chǎn)生的海量數(shù)據(jù)的存儲(chǔ)要求,以及對(duì)數(shù)據(jù)分析效率的要求,充分利用智慧園區(qū)中多核主機(jī)、大容量存儲(chǔ)等硬件資源,特別引入Hadoop平臺(tái)中HDFS(分布式文件系統(tǒng))、MapReduce(并行計(jì)算框架)和Hive(數(shù)據(jù)倉(cāng)庫(kù)工具)。三個(gè)組件作為Hadoop的核心能夠使用戶(hù)輕松地架構(gòu)和使用分布式計(jì)算平臺(tái),并在該平臺(tái)的基礎(chǔ)上對(duì)大規(guī)模數(shù)據(jù)進(jìn)行處理與分析。圖1顯示了Hadoop生態(tài)圈中的各主要技術(shù)。
圖1 Hadoop生態(tài)圈
1.1.1 HDFS分布式存儲(chǔ)
HDFS(Hadoop distributed file system)是Hadoop項(xiàng)目的核心子項(xiàng)目,是Hadoop生態(tài)系統(tǒng)中所有組件的基礎(chǔ),具有容錯(cuò)性高、可靠性高、可擴(kuò)展性高、吞吐率高等特性[4]。HDFS在系統(tǒng)架構(gòu)上采用master-slave結(jié)構(gòu),可以用廉價(jià)的硬件實(shí)現(xiàn)大規(guī)模數(shù)據(jù)的可靠性并可實(shí)現(xiàn)對(duì)數(shù)據(jù)的高吞吐量的訪(fǎng)問(wèn),非常適合于需要對(duì)大量數(shù)據(jù)進(jìn)行存儲(chǔ)與處理的應(yīng)用場(chǎng)景。
1.1.2 數(shù)據(jù)倉(cāng)庫(kù)Hive
Hive是一個(gè)以Hadoop為基礎(chǔ)的,建立在Hadoop生態(tài)系統(tǒng)之上的數(shù)據(jù)倉(cāng)庫(kù),能夠?qū)Υ罅康慕Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲(chǔ)與處理[5]。它將大量的數(shù)據(jù)存儲(chǔ)在HDFS中,采用類(lèi)SQL語(yǔ)言HQL對(duì)數(shù)據(jù)進(jìn)行操作與管理。Hive中的解釋器負(fù)責(zé)對(duì)HQL進(jìn)行解析和轉(zhuǎn)換,將其解釋為map/reduce任務(wù),并通過(guò)執(zhí)行map/reduce任務(wù)返回對(duì)Hive中數(shù)據(jù)的查詢(xún)或處理的結(jié)果。
1.1.3 MapReduce分布式計(jì)算
作為Hadoop的核心組件之一,MapReduce是一種分布式計(jì)算框架[6]。該框架由編程模型和運(yùn)行時(shí)環(huán)境兩部分組成,其中編程模型由谷歌于2004年發(fā)表的分布式計(jì)算框架MapReduce的論文提出,為用戶(hù)提供了非常易用的編程接口,用戶(hù)只需像編寫(xiě)串行程序一樣實(shí)現(xiàn)幾個(gè)簡(jiǎn)單的函數(shù)就可以實(shí)現(xiàn)分布式程序。通過(guò)運(yùn)行時(shí)環(huán)境來(lái)完成如節(jié)點(diǎn)間通訊,數(shù)據(jù)切分和節(jié)點(diǎn)失效等復(fù)雜工作,用戶(hù)無(wú)需關(guān)注框架的運(yùn)行細(xì)節(jié),可以輕易地完成大規(guī)模數(shù)據(jù)的處理任務(wù)。
ETL過(guò)程的主要作用為從各個(gè)數(shù)據(jù)源(如業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)、文本文件等)將數(shù)據(jù)抽取到中間層,之后根據(jù)制定的數(shù)據(jù)清洗規(guī)則對(duì)抽取到的數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換,最后加載到數(shù)據(jù)倉(cāng)庫(kù)中,為進(jìn)行數(shù)據(jù)分析打下基礎(chǔ)。
ETL過(guò)程是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)過(guò)程中非常關(guān)鍵的一部分,起到了承前啟后的作用[7-9]。智慧園區(qū)各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)均存放在自己的業(yè)務(wù)數(shù)據(jù)庫(kù)中,其中存放的數(shù)據(jù)是面向業(yè)務(wù)的,數(shù)據(jù)粒度較細(xì),存儲(chǔ)的信息較為詳細(xì),不適于直接對(duì)其中的數(shù)據(jù)進(jìn)行分析并且各個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)是相對(duì)獨(dú)立的,直接進(jìn)行分析需要面對(duì)多表聯(lián)結(jié)、數(shù)據(jù)格式不一致等相關(guān)問(wèn)題,給分析工作增加難度。
為了解決上述問(wèn)題,引入ETL與數(shù)據(jù)倉(cāng)庫(kù)。通過(guò)ETL過(guò)程提取不同數(shù)據(jù)庫(kù)中的數(shù)據(jù),按照數(shù)據(jù)分析需求制定數(shù)據(jù)清洗策略,完成對(duì)數(shù)據(jù)的清洗、轉(zhuǎn)換之后將數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)。ETL過(guò)程的工作直接關(guān)系數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的質(zhì)量,同時(shí)也關(guān)系到數(shù)據(jù)分析的質(zhì)量與結(jié)果。
Google首席經(jīng)濟(jì)學(xué)家Hal Varian教授指出:“數(shù)據(jù)正在變得無(wú)處不在、觸手可及;而數(shù)據(jù)創(chuàng)造的真正價(jià)值,在于我們能否提供進(jìn)一步的稀缺的附加服務(wù);這種增值服務(wù)就是數(shù)據(jù)分析[10]?!睌?shù)據(jù)是信息化系統(tǒng)最寶貴的財(cái)富,在數(shù)據(jù)中蘊(yùn)含著大量可為企業(yè)進(jìn)行決策提供支持的關(guān)鍵信息。而蘊(yùn)藏在數(shù)據(jù)中的信息只有采用相關(guān)的數(shù)據(jù)分析技術(shù)進(jìn)行深入挖掘才能得到,僅僅憑借經(jīng)驗(yàn)與直覺(jué)并不能充分利用數(shù)據(jù)中的信息。Thomas和Cook在文獻(xiàn)[11]中對(duì)可視化的定義是:可視分析是一種通過(guò)交互式可視化界面,來(lái)輔助用戶(hù)對(duì)大規(guī)模復(fù)雜數(shù)據(jù)集進(jìn)行分析推理的科學(xué)與技術(shù)??梢暦治龅倪\(yùn)行過(guò)程可看作“數(shù)據(jù)→知識(shí)→數(shù)據(jù)”的循環(huán)過(guò)程,中間經(jīng)過(guò)兩條主線(xiàn):可視化技術(shù)和自動(dòng)化分析模型。從數(shù)據(jù)中洞悉知識(shí)的過(guò)程主要依賴(lài)上述兩條主線(xiàn)的互動(dòng)與協(xié)作[12-13]。
隨著信息化系統(tǒng)產(chǎn)生的數(shù)據(jù)量的增大,傳統(tǒng)的數(shù)據(jù)分析技術(shù)已經(jīng)不能滿(mǎn)足對(duì)大規(guī)模數(shù)據(jù)集進(jìn)行有效分析的需求。而如何對(duì)數(shù)據(jù)量大但價(jià)值密度較低的大數(shù)據(jù)進(jìn)行有效分析是每一個(gè)現(xiàn)代化信息系統(tǒng)必須面對(duì)的問(wèn)題。人類(lèi)獲得的絕大部分信息來(lái)源于視覺(jué),將現(xiàn)有的大數(shù)據(jù)平臺(tái)與數(shù)據(jù)可視化分析技術(shù)結(jié)合起來(lái),借助于大數(shù)據(jù)平臺(tái)具有的數(shù)據(jù)處理能力,將數(shù)據(jù)以更直觀(guān)的形式(圖片等)展示出來(lái),能夠幫助決策人員更好地理解數(shù)據(jù)中所蘊(yùn)含的信息。
因此,大數(shù)據(jù)可視化是對(duì)大數(shù)據(jù)進(jìn)行分析的最有效、最重要的環(huán)節(jié),數(shù)據(jù)可視化技術(shù)在大數(shù)據(jù)分析中扮演著非常重要的角色。
如圖2所示,底層采用虛擬化技術(shù),虛擬化實(shí)現(xiàn)了IT資源的邏輯抽象和統(tǒng)一表示,在大規(guī)模數(shù)據(jù)中心管理和解決方案交付方面發(fā)揮著巨大作用,是支撐云計(jì)算最重要的技術(shù)基石。ETL過(guò)程則采用ETL工具從智慧園區(qū)各個(gè)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)庫(kù)抽取數(shù)據(jù),經(jīng)過(guò)清洗、轉(zhuǎn)換之后加載到大數(shù)據(jù)系統(tǒng)的Hive數(shù)據(jù)倉(cāng)庫(kù)中,之后利用可視化數(shù)據(jù)分析工具對(duì)加載到Hive中的數(shù)據(jù)進(jìn)行分析。
圖2 智慧園區(qū)數(shù)據(jù)分析系統(tǒng)架構(gòu)
在硬件方面,針對(duì)數(shù)據(jù)分析系統(tǒng)對(duì)高可用性、可伸縮性、高吞吐量、高效性以及部分應(yīng)用的低時(shí)延的需求,在網(wǎng)絡(luò)交換傳輸使用層使用Infiniband交換機(jī);在數(shù)據(jù)傳輸協(xié)議層,將原有的Hadoop中的socket傳輸機(jī)制替換成RDMA(遠(yuǎn)程直接內(nèi)存存取),從而極大地縮短了傳輸時(shí)延,并充分發(fā)揮Infiniband交換機(jī)的數(shù)據(jù)傳輸能力,同時(shí)減少了CPU在節(jié)點(diǎn)間數(shù)據(jù)交換所耗費(fèi)的資源。
根據(jù)智慧園區(qū)數(shù)據(jù)分析業(yè)務(wù)的功能需求,在原有大數(shù)據(jù)平臺(tái)的基礎(chǔ)上,充分滿(mǎn)足業(yè)務(wù)可伸縮性的要求,建設(shè)數(shù)據(jù)分析系統(tǒng)。系統(tǒng)主要分為三個(gè)功能模塊:數(shù)據(jù)采集模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)可視化分析模塊。數(shù)據(jù)清洗模塊的主要功能為數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)加載。數(shù)據(jù)存儲(chǔ)模塊的主要功能為將數(shù)據(jù)采集模塊處理過(guò)的數(shù)據(jù)存儲(chǔ)到Hive數(shù)據(jù)倉(cāng)庫(kù)中。數(shù)據(jù)可視化分析模塊的主要功能為數(shù)據(jù)源鏈接、數(shù)據(jù)整合、數(shù)據(jù)可視化展示。具體的模塊功能劃分和模塊關(guān)系如圖3所示。
為了實(shí)現(xiàn)和現(xiàn)有數(shù)據(jù)庫(kù)的無(wú)縫連接,建立不重不漏、互通互聯(lián)的數(shù)據(jù)分析系統(tǒng),開(kāi)發(fā)數(shù)據(jù)采集子系統(tǒng),主要用于連接各種已有業(yè)務(wù)數(shù)據(jù)庫(kù)(如:Oracle、SQL Server和MySQL),并且可以對(duì)變化更新的數(shù)據(jù)進(jìn)行捕捉然后提取數(shù)據(jù)。具體功能主要包括:
(1)數(shù)據(jù)導(dǎo)入:首次運(yùn)行時(shí),與現(xiàn)有的數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)對(duì)接,將各數(shù)據(jù)庫(kù)中的數(shù)據(jù)提取后并進(jìn)行清理與治理,最后存入大數(shù)據(jù)庫(kù)中;
(2)自動(dòng)抓?。合到y(tǒng)正常運(yùn)行后,在不影響現(xiàn)有系統(tǒng)正常運(yùn)行的基礎(chǔ)上,對(duì)各庫(kù)進(jìn)行實(shí)時(shí)監(jiān)控,并對(duì)新數(shù)據(jù)進(jìn)行增量抓取,最后存入大數(shù)據(jù)庫(kù)中;
(3)數(shù)據(jù)錄入:對(duì)于部分動(dòng)態(tài)數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù),開(kāi)放接口,方便用戶(hù)通過(guò)其他終端錄入數(shù)據(jù);
(4)數(shù)據(jù)清洗:對(duì)獲得的數(shù)據(jù),根據(jù)業(yè)務(wù)以及用戶(hù)的規(guī)定進(jìn)行清洗、去重與治理。
圖3 數(shù)據(jù)分析系統(tǒng)功能模塊
數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)主要來(lái)自于正在運(yùn)行的業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)(如:惠民系統(tǒng)數(shù)據(jù)庫(kù)、城管系統(tǒng)數(shù)據(jù)庫(kù)、環(huán)衛(wèi)系統(tǒng)數(shù)據(jù)庫(kù)等),數(shù)據(jù)采集系統(tǒng)與這些業(yè)務(wù)數(shù)據(jù)庫(kù)建立連接,從中抽取需要的數(shù)據(jù),經(jīng)過(guò)轉(zhuǎn)換、數(shù)據(jù)清洗等操作,最后加載到Hadoop大數(shù)據(jù)平臺(tái)的Hive數(shù)據(jù)倉(cāng)庫(kù)中。數(shù)據(jù)的抽取、轉(zhuǎn)換、加載的過(guò)程稱(chēng)之為ETL過(guò)程。
數(shù)據(jù)采集首先經(jīng)過(guò)數(shù)據(jù)抽取,數(shù)據(jù)抽取的數(shù)據(jù)來(lái)源為業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)、文件系統(tǒng)。抽取的數(shù)據(jù)按照制定的清洗規(guī)則進(jìn)行清洗后到達(dá)數(shù)據(jù)轉(zhuǎn)換模塊。數(shù)據(jù)轉(zhuǎn)換模塊按照轉(zhuǎn)換規(guī)則對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換后,加載到數(shù)據(jù)倉(cāng)庫(kù)或者輸出到文件。
3.2.1 數(shù)據(jù)抽取
數(shù)據(jù)抽取是進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換的前提。數(shù)據(jù)抽取是一項(xiàng)艱難的工作,因?yàn)閿?shù)據(jù)是多樣和復(fù)雜的。這一部分需要在調(diào)研階段做大量的工作,首先要搞清楚數(shù)據(jù)是從幾個(gè)業(yè)務(wù)系統(tǒng)中來(lái),各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器運(yùn)行的是何種DBMS,是否存在手工數(shù)據(jù),手工數(shù)據(jù)存量有多大,是否存在非結(jié)構(gòu)化的數(shù)據(jù)等等。等收集完這些信息之后再進(jìn)行數(shù)據(jù)抽取設(shè)計(jì)。抽取的方式分為全量抽取和增量抽取。
該系統(tǒng)是智慧城市的一個(gè)模塊,智慧城市還包括各個(gè)業(yè)務(wù)系統(tǒng)(城管系統(tǒng)、執(zhí)法系統(tǒng)、環(huán)衛(wèi)系統(tǒng)、惠民系統(tǒng)等)。在數(shù)據(jù)采集系統(tǒng)第一次運(yùn)行時(shí),需要將各個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部抽取出來(lái),經(jīng)過(guò)后續(xù)的數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換后加載到數(shù)據(jù)倉(cāng)庫(kù)中。由于系統(tǒng)是持續(xù)性運(yùn)行的,會(huì)不斷有新的數(shù)據(jù)進(jìn)入到業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù),此時(shí)再對(duì)數(shù)據(jù)進(jìn)行全量抽取是不現(xiàn)實(shí)的,不僅會(huì)加重整個(gè)系統(tǒng)的負(fù)擔(dān),更可能造成網(wǎng)絡(luò)的擁塞,使整個(gè)系統(tǒng)的延遲增大[10]。此時(shí)便需要采用另外一種數(shù)據(jù)抽取方式—增量抽取。該系統(tǒng)中采取的增量抽取方式為基于時(shí)間戳的抽取方式。
數(shù)據(jù)抽取流程如圖4所示。首先加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,連接到要抽取的數(shù)據(jù)源。判斷是否連接成功,如果連接失敗,寫(xiě)日志,記錄失敗的原因。如果連接成功,查詢(xún)表中記錄,進(jìn)行數(shù)據(jù)的抽取工作,將抽取的數(shù)據(jù)放入數(shù)據(jù)緩存區(qū),留待進(jìn)行數(shù)據(jù)清洗轉(zhuǎn)換。此外,由于后續(xù)要進(jìn)行基于時(shí)間戳的CDC(數(shù)據(jù)增量抽取工作),系統(tǒng)需要維護(hù)CDC表來(lái)保存此次數(shù)據(jù)抽取的時(shí)間,獲取當(dāng)前系統(tǒng)時(shí)間,更新CDC表中l(wèi)oad字段(上次抽取時(shí)間)。在進(jìn)行增量抽取時(shí),需要先讀取CDC表中的load字段,之后只抽取業(yè)務(wù)庫(kù)中更新時(shí)間大于load字段值的記錄。
圖4 全量抽取、增量抽取流程
3.2.2 數(shù)據(jù)清洗轉(zhuǎn)換
如圖5所示,數(shù)據(jù)清洗轉(zhuǎn)換是數(shù)據(jù)采集系統(tǒng)的核心。由于數(shù)據(jù)來(lái)源的多樣性,業(yè)務(wù)系統(tǒng)不能完全保證存儲(chǔ)在業(yè)務(wù)數(shù)據(jù)庫(kù)中數(shù)據(jù)的真實(shí)有效性與準(zhǔn)確性。而數(shù)據(jù)倉(cāng)庫(kù)是用來(lái)進(jìn)行輔助決策的,要求存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)都是正確且真實(shí)有效的,避免臟數(shù)據(jù)出現(xiàn)在數(shù)據(jù)倉(cāng)庫(kù)中。
數(shù)據(jù)清洗轉(zhuǎn)換主要包括數(shù)據(jù)去重、不一致數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)粒度轉(zhuǎn)換等過(guò)程。數(shù)據(jù)清洗轉(zhuǎn)換是一個(gè)長(zhǎng)期、反復(fù)的過(guò)程,不是短時(shí)間內(nèi)能夠完成的,是一項(xiàng)持續(xù)性的工作[11]。
3.2.3 數(shù)據(jù)加載(加載事實(shí)表)
事實(shí)表是用于分析的詳細(xì)業(yè)務(wù)數(shù)據(jù)的集合。它的數(shù)據(jù)量大,會(huì)消耗大量的存儲(chǔ)。圖6展示了數(shù)據(jù)加載流程。由于數(shù)據(jù)抽取分為全量抽取和增量抽取,在加載事實(shí)表時(shí)也分為增量加載與全量加載。但其中對(duì)于數(shù)據(jù)的處理方式是相同的。此外,在進(jìn)行數(shù)據(jù)加載時(shí),必須先查詢(xún)維度表中是否存在相對(duì)應(yīng)的代理鍵,如果不存在,先進(jìn)行維度表的更新,之后進(jìn)行事實(shí)表的加載。
圖5 數(shù)據(jù)清洗轉(zhuǎn)換流程
圖6 數(shù)據(jù)加載流程
數(shù)據(jù)分析系統(tǒng)的功能流程如圖7所示。
圖7 數(shù)據(jù)可視化系統(tǒng)業(yè)務(wù)流程
數(shù)據(jù)可視化分析系統(tǒng)具有以下功能:
(1)數(shù)據(jù)源連接:數(shù)據(jù)是進(jìn)行數(shù)據(jù)分析的基礎(chǔ)。第三節(jié)介紹了數(shù)據(jù)采集系統(tǒng),其將數(shù)據(jù)從業(yè)務(wù)數(shù)據(jù)庫(kù)中經(jīng)過(guò)數(shù)據(jù)清洗轉(zhuǎn)換之后加載到大數(shù)據(jù)系統(tǒng)中的Hive數(shù)據(jù)倉(cāng)庫(kù)中,為數(shù)據(jù)分析提供了數(shù)據(jù)源。因此,數(shù)據(jù)可視化分析系統(tǒng)應(yīng)當(dāng)具有連接到Hive并從中提取數(shù)據(jù)的功能。
(2)數(shù)據(jù)整合、維護(hù):用來(lái)進(jìn)行分析的數(shù)據(jù)可能來(lái)自于同一張表,也可能來(lái)自于多張表或者不同的服務(wù)器。因此數(shù)據(jù)可視化分析系統(tǒng)應(yīng)當(dāng)具有數(shù)據(jù)整合功能,用以實(shí)現(xiàn)同一數(shù)據(jù)源的多表聯(lián)結(jié)、多個(gè)數(shù)據(jù)源的數(shù)據(jù)融合。同時(shí)由于分析時(shí)對(duì)數(shù)據(jù)有不同的需求、數(shù)據(jù)源中數(shù)據(jù)會(huì)發(fā)生變化,因此應(yīng)當(dāng)對(duì)數(shù)據(jù)進(jìn)行篩選,限定數(shù)據(jù)的分析范圍并且可以刷新數(shù)據(jù)源,保持?jǐn)?shù)據(jù)更新。
(3)數(shù)據(jù)可視化分析:是數(shù)據(jù)可視化分析系統(tǒng)的核心功能??梢詫⒎治鼋Y(jié)果以條形圖、直方圖、餅圖、折線(xiàn)圖等形式展示。并且具有統(tǒng)計(jì)分析、基于時(shí)間序列預(yù)測(cè)等功能。
(4)分析結(jié)果導(dǎo)出、發(fā)布:數(shù)據(jù)可視化分析系統(tǒng)可以將分析結(jié)果導(dǎo)出到文件,如Excel、PDF或圖片。并將成果發(fā)布到服務(wù)器上,通過(guò)瀏覽器或者移動(dòng)終端進(jìn)行交互式訪(fǎng)問(wèn)。
現(xiàn)階段城市的發(fā)展遇到了各種各樣的挑戰(zhàn),如健康與環(huán)境、交通、水資源、能源利用、城市管理等問(wèn)題,已經(jīng)不能通過(guò)傳統(tǒng)意義上的城市規(guī)劃設(shè)計(jì)予以解決。通過(guò)運(yùn)用新一代信息技術(shù)來(lái)管理城市的運(yùn)行,將城市中不同的部門(mén)結(jié)合起來(lái),共享不同部門(mén)間的信息。但是新一代信息技術(shù)的引入勢(shì)必帶來(lái)數(shù)據(jù)量的劇增,為信息系統(tǒng)的數(shù)據(jù)服務(wù)器帶來(lái)巨大的壓力,與此同時(shí)如何對(duì)海量數(shù)據(jù)進(jìn)行有效的分析,為智慧城市決策人員的決策提供依據(jù)也是智慧城市在發(fā)展過(guò)程中需要解決的問(wèn)題。為了解決海量數(shù)據(jù)的分析問(wèn)題,對(duì)數(shù)據(jù)進(jìn)行有效的分析,并保證數(shù)據(jù)分析的效率,文中在智慧園區(qū)信息系統(tǒng)的開(kāi)發(fā)過(guò)程中引入Hadoop大數(shù)據(jù)平臺(tái)、Hive數(shù)據(jù)倉(cāng)庫(kù)等大數(shù)據(jù)技術(shù),為海量數(shù)據(jù)的存儲(chǔ)、分析提供支持。通過(guò)充分了解智慧園區(qū)數(shù)據(jù)分析系統(tǒng)的功能需求,并考慮到系統(tǒng)的穩(wěn)定、易用等因素,決定采用Kettle+Hive+Tableau的方式來(lái)實(shí)現(xiàn)對(duì)智慧園區(qū)數(shù)據(jù)的分析。經(jīng)過(guò)充分的技術(shù)驗(yàn)證與測(cè)試,證明了該方案能夠解決智慧園區(qū)對(duì)數(shù)據(jù)分析的業(yè)務(wù)要求。
[1] 甄 峰,秦 蕭.大數(shù)據(jù)在智慧城市研究與規(guī)劃中的應(yīng)用[J].國(guó)際城市規(guī)劃,2014(6):44-50.
[2] 陳紅松,韓 至,鄧淑寧.智慧城市中大數(shù)據(jù)安全分析與研究[J].信息網(wǎng)絡(luò)安全,2015(7):1-6.
[3] 李光亞,張敬誼,童 慶.大數(shù)據(jù)在智慧城市中的應(yīng)用[J].微型電腦應(yīng)用,2014,30(12):1-4.
[4] SHVACHKO K,KUANG H,RADIA S,et al.The Hadoop distributed file system[C]//26th symposium on mass storage systems and technologies.[s.l.]:IEEE,2010.
[5] THUSOO A,SARMA J S,JAIN N,et al.Hive:a warehousing solution over a map-reduce framework[J].Proceedings of the VLDB Endowment,2009,2(2):1626-1629.
[6] DEAN J,GHEMAWAT S.MapReduce[J].Communications of the ACM,2008,51(1):107.
[7] 宋旭東,劉曉冰.數(shù)據(jù)倉(cāng)庫(kù)ETL任務(wù)調(diào)度模型研究[J].控制與決策,2011,26(2):271-275.
[8] 張 寧,賈自艷,史忠植.數(shù)據(jù)倉(cāng)庫(kù)中ETL技術(shù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(24):213-216.
[9] 徐俊剛,裴 瑩.數(shù)據(jù)ETL研究綜述[J].計(jì)算機(jī)科學(xué),2011,38(4):15-20.
[10] 任 磊,杜 一,馬 帥,等.大數(shù)據(jù)可視分析綜述[J].軟件學(xué)報(bào),2014,25(9):1909-1936.
[11] THOMAS J J,COOK K A.Illuminating the path:the research and development agenda for visual analytics[M].[s.l.]:National Visualization and Analytics Ctr,2005.
[12] 陳 聰,張國(guó)惠,馬曉磊,等.利用大數(shù)據(jù)挖掘和知識(shí)發(fā)現(xiàn)技術(shù)輔助智慧城市發(fā)展[J].大數(shù)據(jù),2016(3):39-48.
[13] 官思發(fā),孟 璽,李宗潔,等.大數(shù)據(jù)分析研究現(xiàn)狀、問(wèn)題與對(duì)策[J].情報(bào)雜志,2015,34(5):98-104.