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