王天軍+沈佳+尹蕊+馬宗達(dá)
本文通過(guò)對(duì)基于Hadoop平臺(tái)的電力行業(yè)大數(shù)據(jù)分析技術(shù)研究,構(gòu)建了結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)抽取模型,及基于map/reduce的數(shù)據(jù)分析模型。實(shí)現(xiàn)發(fā)電、輸電、變電、配電、用電等各環(huán)節(jié)數(shù)據(jù)的共享融合,在數(shù)據(jù)挖掘分析上由原來(lái)的點(diǎn)狀分析,過(guò)渡到跨專(zhuān)業(yè)的網(wǎng)狀數(shù)據(jù)分析,進(jìn)一步提高了分析精度和分析效率。
【關(guān)鍵詞】Hadoop 電力行業(yè) 大數(shù)據(jù)分析
隨著互聯(lián)網(wǎng)+時(shí)代的到來(lái),各行業(yè)數(shù)據(jù)的共享與融合越來(lái)越迫切。電力生產(chǎn)關(guān)系民生和經(jīng)濟(jì)發(fā)展,隨著電力信息化的發(fā)展,涉及發(fā)電、輸電、變電、配電、用電等各個(gè)環(huán)節(jié)的數(shù)據(jù)呈爆發(fā)性增長(zhǎng),PB數(shù)量級(jí)的數(shù)據(jù),已無(wú)法通過(guò)傳統(tǒng)的數(shù)據(jù)管理、抽取、分析技術(shù)挖掘數(shù)據(jù)間的多重關(guān)聯(lián)關(guān)系,從而更有效的實(shí)現(xiàn)電力風(fēng)險(xiǎn)預(yù)警,提高生產(chǎn)效率和智能調(diào)度功能。
1 Hadoop平臺(tái)介紹
Hadoop是Apache軟件基金會(huì)旗下的一個(gè)開(kāi)源分布式計(jì)算平臺(tái)。以Hadoop分布式文件系統(tǒng)和MapReduce為核心的Hadoop為用戶(hù)提供了系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。HDFS的高容錯(cuò)性、高伸縮性等優(yōu)點(diǎn)允許用戶(hù)將Hadoop部署在低廉的硬件上,形成分布式系統(tǒng),MapReduce分布式編程模型允許用戶(hù)在不了解分布式系統(tǒng)底層細(xì)節(jié)的情況下開(kāi)發(fā)并行應(yīng)用程序。所以用戶(hù)可以利用Hadoop輕松地組織計(jì)算機(jī)資源,從而搭建自己的分布式計(jì)算平臺(tái),并且可以充分利用集群的計(jì)算和存儲(chǔ)能力,完成海量數(shù)據(jù)的處理。
Avro是doug cutting主持的RPC項(xiàng)目,有點(diǎn)類(lèi)似Google的protobuf和Facebook的thrift。是用于數(shù)據(jù)序列化的系統(tǒng)。提供了豐富的數(shù)據(jù)結(jié)構(gòu)類(lèi)型、快速可壓縮的二進(jìn)制數(shù)據(jù)格式、存儲(chǔ)持久性數(shù)據(jù)的文件集、遠(yuǎn)程PRC調(diào)用以及簡(jiǎn)單的動(dòng)態(tài)語(yǔ)言集成功能。
實(shí)現(xiàn)了MapReduce編程框架,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。能夠使編程人員在不理解分布式并行編程概念的情況下也能方便將自己的程序運(yùn)行在分布式系統(tǒng)上。
HDFS分布式文件系統(tǒng),其設(shè)計(jì)目標(biāo)包括:檢測(cè)和快速恢復(fù)硬件故障;數(shù)據(jù)流的訪問(wèn);簡(jiǎn)化一致性模型等。
Zookeeper是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn)。它是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、名字服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶(hù)。
Pig是SQL-like語(yǔ)言,是在MapReduce上構(gòu)建的一種高級(jí)查詢(xún)語(yǔ)言,把一些運(yùn)算編譯進(jìn)MapReduce模型的Map和Reduce中,并且用戶(hù)可以定義自己的功能。Yahoo網(wǎng)格運(yùn)算部門(mén)開(kāi)發(fā)的又一個(gè)克隆Google的項(xiàng)目Sawzall。
Chukwa是基于Hadoop的大集群監(jiān)控系統(tǒng),是開(kāi)源的數(shù)據(jù)搜集系統(tǒng)。通過(guò)HDFS來(lái)存儲(chǔ)數(shù)據(jù),并依賴(lài)MapReduce來(lái)處理數(shù)據(jù)。
2 數(shù)據(jù)抽取分析模型
目前電力行業(yè)數(shù)據(jù)包含結(jié)構(gòu)化數(shù)據(jù)如常規(guī)oracle,MySQL等數(shù)據(jù)庫(kù)類(lèi)型,同時(shí)也存在大量log日志文件,e文件等非結(jié)構(gòu)化數(shù)據(jù),為能全面有效的實(shí)現(xiàn)多業(yè)務(wù),多數(shù)據(jù)綜合建模分析,設(shè)計(jì)如圖2所示,數(shù)據(jù)處理模型。主要由數(shù)據(jù)抽取、格式清洗和DFS分布式文件系統(tǒng)構(gòu)成,同時(shí)為下一步大數(shù)據(jù)建模分析打好基礎(chǔ)。
數(shù)據(jù)抽取模塊主要負(fù)責(zé)從原業(yè)務(wù)系統(tǒng)獲得結(jié)構(gòu)化和非結(jié)構(gòu)化業(yè)務(wù)數(shù)據(jù)。通過(guò)在數(shù)據(jù)抽取工具中配置前端機(jī)器名稱(chēng)、端口號(hào)、加密用戶(hù)名密碼、數(shù)據(jù)表等信息,實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)的抽取工作。對(duì)于日志類(lèi)文件由于在原服務(wù)運(yùn)行期間日志文件是持續(xù)寫(xiě)入狀態(tài),因此必須在原系統(tǒng)設(shè)置,系統(tǒng)日志按時(shí)間節(jié)點(diǎn)分割,一般可按具體業(yè)務(wù)運(yùn)行情況和日志產(chǎn)生量和產(chǎn)生大小進(jìn)行設(shè)定,避免因日志文件過(guò)大或網(wǎng)絡(luò)繁忙,在抽取時(shí)對(duì)業(yè)務(wù)造成影響。
格式清洗模塊主要是對(duì)原始數(shù)據(jù)中多種不同配置格式進(jìn)行統(tǒng)一,特別是對(duì)非結(jié)構(gòu)化數(shù)據(jù),需定義每個(gè)字段的含義和位置以及統(tǒng)一分隔符,同時(shí)還會(huì)去掉一些記錄不完整的壞數(shù)據(jù),保證數(shù)據(jù)的格式統(tǒng)一,信息完成。最后導(dǎo)入HDFS文件系統(tǒng)進(jìn)行存儲(chǔ)。
數(shù)據(jù)分析通過(guò)Map/Reduce操作實(shí)現(xiàn),通過(guò)設(shè)計(jì)業(yè)務(wù)分析模型,定位此項(xiàng)數(shù)據(jù)分析所需輸入數(shù)據(jù),并將數(shù)據(jù)數(shù)據(jù)分割成若干獨(dú)立的塊,并根據(jù)Inputformat把資料讀入成一組(key,value)對(duì),然后通過(guò)mapper count分給不同的mapper進(jìn)行處理。再設(shè)計(jì)模型中,通過(guò)設(shè)置滿(mǎn)足要求的map任務(wù)值,并引入哈希算法,將mapper對(duì)應(yīng)初始的(initialkey,initialvalue)生成中間數(shù)據(jù)集(interkey,intervalue)劃分為多個(gè)任務(wù),將模值相等的任務(wù)丟到統(tǒng)一節(jié)點(diǎn)上計(jì)算,以實(shí)現(xiàn)比較平衡的分類(lèi)效果。
Reducer對(duì)mapper產(chǎn)生的(interkey,intervalue)中間數(shù)據(jù)集,進(jìn)行驅(qū)蟲(chóng)、過(guò)濾等后期處理后,得到結(jié)果。為實(shí)現(xiàn)輸出文件格式支持通過(guò)key來(lái)高效的自由訪問(wèn),并得到有序的數(shù)據(jù)輸出,在reducer中加入排序環(huán)節(jié),將所有的中間數(shù)據(jù)集根據(jù)key來(lái)排序的。這樣每個(gè)小塊都很容易生成一個(gè)序列化的輸出文件。
通過(guò)展示系統(tǒng),實(shí)現(xiàn)各業(yè)務(wù)模型數(shù)據(jù)分析結(jié)果圖形化的展示在監(jiān)控大屏上,同時(shí)桌面用戶(hù)還可通過(guò)瀏覽器或客戶(hù)端在終端上查詢(xún)分析結(jié)果。
3 總結(jié)
通過(guò)hadoop平臺(tái)構(gòu)建電力行業(yè)大數(shù)據(jù)分析模型,可按照業(yè)務(wù)需要進(jìn)行靈活進(jìn)行組合,提高各專(zhuān)業(yè)間的數(shù)據(jù)共享融合,實(shí)現(xiàn)由點(diǎn)狀業(yè)務(wù)分析模式,到貫穿“三集五大”各專(zhuān)業(yè)的網(wǎng)狀業(yè)務(wù)分析模式,可進(jìn)一步提高電網(wǎng)的健壯性、互動(dòng)性和智能化,為社會(huì)經(jīng)濟(jì)穩(wěn)定發(fā)展提供保障。
作者單位
國(guó)網(wǎng)新疆電力公司信息通信公司 新疆維吾爾自治區(qū)烏魯木齊市 830000