




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄目錄11.引言21.1背景與目的21.2專業(yè)術(shù)語及說明21.3參考資料22. 設計概述32.1任務及目標32.2需求概述32.3運行環(huán)境概述33.系統(tǒng)詳細需求分析43.1詳細需求分析44.總體設計方案44.1系統(tǒng)總體結(jié)構(gòu)44.2系統(tǒng)模塊劃分55.系統(tǒng)詳細設計55.1系統(tǒng)結(jié)構(gòu)設計55.2系統(tǒng)功能模塊詳細設計66.信息編碼設計66.1代碼結(jié)構(gòu)設計66.2代碼命名規(guī)則77.維護設計77.1系統(tǒng)的可靠性和安全性77.2系統(tǒng)及用戶維護設計77.3系統(tǒng)擴充設計78.系統(tǒng)配置78.1硬件配置78.2軟件配置79.關(guān)鍵技術(shù)79.1關(guān)鍵技術(shù)的一般說明79.2關(guān)鍵技術(shù)的實現(xiàn)方案810. 測試810.1測試方案
2、81.引言1.1背景與目的當下互聯(lián)網(wǎng)和計算機技術(shù)越來越多的被各行各業(yè)利用,于是產(chǎn)生了海量的數(shù)據(jù)。進入2012年后,“大數(shù)據(jù)”一詞越來越多的被提及,人們用它來描述和定義信息爆照時代產(chǎn)生的海量數(shù)據(jù)。顯而易見地,數(shù)據(jù)正在迅速膨脹并變大,它決定著企業(yè)的未來發(fā)展,雖然現(xiàn)在企業(yè)可能還沒有意識到,但隨著時間的推移,人們將越來越多的意識到數(shù)據(jù)對企業(yè)的重要性。而這就需要有一種框架來分析處理這種大數(shù)據(jù)。對于電力行業(yè)更是如此,電力方面每時每刻都在產(chǎn)生著大量的數(shù)據(jù),而對這些數(shù)據(jù)的分析和利用有著巨大的市場前景和意義。1.2專業(yè)術(shù)語及說明Hadoop :一種分布式基礎(chǔ)架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布是
3、底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力運算和存儲。Hadoop實現(xiàn)了一個分布式系統(tǒng)(Hadoop Distributed File System),簡稱HDFS。HDFS有著高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(high throughput)來訪問應用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。Hbase:是一個分布式的、面向列的開源數(shù)據(jù)庫。Mapre
4、duce:是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1T)的并行運算。當前的軟件實現(xiàn)是指定一個Map函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce函數(shù),用來保證所有的映射的鍵值對中的每一個共享相同的鍵組。1.3參考資料【1】相海泉. 大數(shù)據(jù)時代J. 中國信息界, 2013 (5).【2】李成華, 張新訪, 金海, 等. MapReduce: 新型的分布式并行計算編程模型J. 計算機工程與科學, 2011, 33(003): 129-135.【3】謝桂蘭, 羅省賢. 基于 HadoopMapReduce 模型的應用研究 JJ. 微型機與應用, 2010, 25(3): 4-7.【
5、4】陳勇. 基于 Hadoop 平臺的通信數(shù)據(jù)分布式查詢算法的設計與實現(xiàn) DD. 北京: 北京交通大學, 2009.【5】Taylor R C. An overview of the Hadoop/MapReduce/HBase framework and its current applications in bioinformaticsJ. BMC bioinformatics, 2010, 11(Suppl 12): S1.2. 設計概述從HBASE中取數(shù)據(jù)(driver 類)>通過MapReduce對數(shù)據(jù)進行第一次處理(Mapper 類)>根據(jù)應用層的需要,對處理過的數(shù)據(jù)再
6、次進行處理(Reducer類以及附加類:簡單的數(shù)學基本函數(shù)、統(tǒng)計、概率等),并且返回給客戶端(預留接口)2.1任務及目標數(shù)據(jù)合成:1、 PI的常用函數(shù):最大值、平均值等2、 專業(yè)函數(shù)(與PI服務器類似的內(nèi)置函數(shù))數(shù)據(jù)訂單:1、 基本的數(shù)據(jù)挖掘、數(shù)理統(tǒng)計函數(shù)功能(如統(tǒng)計/概率)2.2需求概述因為電力行業(yè)在實際生產(chǎn)和應用的過程中會產(chǎn)生大量的數(shù)據(jù),而這些數(shù)據(jù)又對電力有著巨大的影響和意義。對這些數(shù)據(jù)的處理和存儲就成為一個迫在眉睫的問題。從這些數(shù)據(jù)中可以提取很多對于電力行業(yè)以后的發(fā)展和現(xiàn)今的實際生產(chǎn)有著指導意義的數(shù)據(jù),利用好這些海量的數(shù)據(jù)則成為如今電力的一個極具戰(zhàn)略意義的問題。但是,如今的PI服務器不但
7、不能滿足于這個需求而且成本較高,所以就有替代的必要。2.3運行環(huán)境概述20個計算節(jié)點的Hadoop集群(可橫向擴展),集群配置為 2*4核CPU,4080G內(nèi)存,612T存儲。2.4詳細設計方法和工具利用Map函數(shù)從Hbase中取數(shù)據(jù),Reduce函數(shù)對取到的數(shù)據(jù)進行處理,返回結(jié)果給用戶。如下圖編程工具:eclipse編程語言:java3.系統(tǒng)詳細需求分析3.1詳細需求分析A功能需求分析:批量查詢功能,數(shù)據(jù)處理功能(專業(yè)數(shù)學函數(shù),基本計算函數(shù),統(tǒng)計等)B性能需求分析:實時性要求較高,對于數(shù)據(jù)的處理計算Mapreduce完全能夠勝任C資源需求分析:多臺普通X86服務器,成本較低。D系統(tǒng)運行環(huán)境及
8、限制條件分析:系統(tǒng)需要在Linux系統(tǒng)上面運行,搭建hadoop集群框架E現(xiàn)有軟、硬件資源分析:如今華電現(xiàn)有X86服務器4臺,可以利用虛擬技術(shù)對hadoop集群進行布置。軟件方面目前hadoop框架已搭建成功,可以直接使用。4.總體設計方案4.1系統(tǒng)總體結(jié)構(gòu)如下圖為hadoop、hbase、hadoop mapreduce的層次結(jié)構(gòu) MapReduce分為三個類:Driver類、Mapper類、Reducer類輸入的參數(shù)類型是String類(測點名+時間段+(query內(nèi)容),解析之后,通過Map Function按照檢索條件最后輸出List(Hashtable)類型結(jié)果;經(jīng)過Map Func
9、tion之后的結(jié)果,然后在Reducer類里通過調(diào)用附加類的函數(shù)進行運算,最后輸出結(jié)果List(Value)。如下圖 Map FunctionArrayList<Key:SessionID,Value:Search MediateResults> Reduce FunctionArrayList(SearchResultsw)。用戶4.2系統(tǒng)模塊劃分1)Map類:Map寫入檢索條件,遍歷數(shù)據(jù)庫HBASE,得到需要的數(shù)據(jù)(可以提供的API按時間檢索,按點名檢索等)。需要參數(shù)為Hashtable類型(hashtable<Key:ID,Value:UserQuery>)進過M
10、ap函數(shù)之后輸出數(shù)據(jù)為ArrayList<Key:SessionID,Value:Search MediateResults>。2)Reduce類:Reduce函數(shù)得到Map的返回結(jié)果即ArrayList類型的數(shù)據(jù)之后經(jīng)過運算處理返回給User的數(shù)據(jù)為ArrayList(SearchResultsw)。3)基礎(chǔ)類:封裝的函數(shù):加減乘除等基本運算、統(tǒng)計count、計算概率、解析字符串、專業(yè)函數(shù)等。4) Driver類:使用JobConf和JobClient提交作業(yè);與Map類和Reduce類關(guān)聯(lián)。5.系統(tǒng)詳細設計5.1系統(tǒng)結(jié)構(gòu)設計系統(tǒng)分為兩個java包:一個是批量查詢的包(query
11、datatable),一個是批量計算的包(datamath)。在querydatatable包內(nèi),有四個類:DriverQuery類、QueryMap類、StringAnalytical類、TxtHBase類。在datamath包內(nèi),有多個類:MathDriver類、MathMap類、MathSum類、MathCount類、MathDataAppend類等,這個包內(nèi)需要封裝一些類似PI服務器里的函數(shù),如下表所示:PIMapReduce三角函數(shù)三角函數(shù)(sin、cos、tan)Log、lgLog、lg平方根Sqr、方差平方根Sqr、方差Avg、max、min、total(sum)Avg、max、
12、min、total(sum)絕對值abs、近似值(round)絕對值abs、近似值(round)加減乘除加減乘除統(tǒng)計統(tǒng)計專業(yè)函數(shù)(水汽、功率)專業(yè)函數(shù)(水汽、功率)字符串解析(.)字符串解析(.)時間轉(zhuǎn)化(時間戳)時間轉(zhuǎn)化(時間戳)錯誤處理錯誤處理好點、壞點處理好點、壞點處理55.2系統(tǒng)功能模塊詳細設計總體功能分為兩個部分:數(shù)據(jù)訂單,數(shù)據(jù)合成。A. 數(shù)據(jù)訂單即批量查詢功能編寫字符串解析類,解析HBase的RowKey。然后編寫Mapper類,這個類繼承自MapReduceBase,重寫這里面的接口函數(shù)Mapper,將檢索條件寫入Mapper類。然后通過Driver類調(diào)用JobConf和JobC
13、lient提交作業(yè)。B. 數(shù)據(jù)合成即根據(jù)上次應用的需求對查詢后的數(shù)據(jù)進行處理計算。查詢后的數(shù)據(jù)傳遞給Reducer類,在Reducer類里進行處理,這里需要封裝多個Reducer類,根據(jù)上面列表內(nèi)的函數(shù)依次封裝,用戶Reducer類需要繼承MapReduceBase類及實現(xiàn)Reducer接口函數(shù),注意的一點是這個里面的輸入Key及Value要與Mapper的輸出key及Value類型相同。另外因為有電力方面專業(yè)函數(shù)的存在,需要編寫一個附加類來提供這些計算方法,以便于在用戶Reducer類里面調(diào)用。以上的核心邏輯處理完之后,用output.collect方法來輸出最終的結(jié)果。最后還是使用JobC
14、onf及JobClient來提交作業(yè)。6.信息編碼設計6.1代碼結(jié)構(gòu)設計源代碼分為兩個包,每個包內(nèi)有不同的java類。Source文件下需要導入hadoop框架的四個.xml文件分別為:core-site.xml、hbase-site.xml、hdfs-site.xml、mapred-site.xml。還有需要有hadoop的jar包支持。MapReduce框架結(jié)構(gòu)主要是分為3個類:Driver類、Map類、Reduce類Driver類代碼結(jié)構(gòu)為:首先創(chuàng)建JobConf對象conf,設置conf的配置,關(guān)聯(lián)Map類、Reducer類及其他類。然后調(diào)用JobClient的靜態(tài)方法runJob方法
15、啟動M/R程序。Map類代碼結(jié)構(gòu)為:這個用戶類要求繼承自MapReduceBase并且實現(xiàn)Mapper接口,然后根據(jù)檢索條件遍歷HBase中的內(nèi)容,得到所需要的內(nèi)容,并且或輸出或傳遞給Reducer用戶類。Reducer類代碼結(jié)構(gòu)為:這個用戶類要求繼承自MapReduceBase并且實現(xiàn)Reducer接口,然后通過調(diào)用附加類中的函數(shù)運算或者根據(jù)要求,對Mapper之后的數(shù)據(jù)經(jīng)行處理,并且利用output.collect方法輸出最終的結(jié)果。附加類代碼結(jié)構(gòu):根據(jù)表中所列的函數(shù)及其他需求,編寫封裝函數(shù)。6.2代碼命名規(guī)則盡量使用英文直譯之后名稱來定義,首字母大寫。7.維護設計7.1系統(tǒng)的可靠性和安全
16、性后期設計中會加入控制臺設計,權(quán)限設計以及針對用戶的特殊設計。7.2系統(tǒng)及用戶維護設計利用hadoop框架提供的維護可以實現(xiàn)這一功能。7.3系統(tǒng)擴充設計因為hadoop框架是支持橫向擴展的,所以存儲量這方面不用擔心。在功能方面可以預留接口以方便以后的功能性擴展。8.系統(tǒng)配置8.1硬件配置開發(fā):可以在虛擬機下開發(fā),需要五臺虛擬機搭建hadoop集群(測試使用)。運行:多臺普通的X86服務器。(實體的hadoop集群)8.2軟件配置開發(fā)環(huán)境:eclipse、java1.6、hadoop框架、HBase、win7 64位操作系統(tǒng)運行環(huán)境:zookeeper、HBase、Hadoop、Linux64位
17、操作系統(tǒng)9.關(guān)鍵技術(shù)9.1關(guān)鍵技術(shù)的一般說明Map/Reduce是一個用于大規(guī)模數(shù)據(jù)處理的分布式計算編程模型,用戶定義一個map函數(shù)來處理一個Key/Value對以生成一批中間的key/value對,在定義一個reduce函數(shù)將所有的這些中間的有著相同的key的values合并起來。而基于hadoop的MapReduce也是如此。9.2關(guān)鍵技術(shù)的實現(xiàn)方案運行于Hadoop的MapReduce應用程序最基本的組成部分包括一個Mapper和一個Reducer類,以及一個創(chuàng)建JobConf的執(zhí)行程序,在一些應用中還可以包括一個Combiner類。MapReduce框架是由一個單獨的JobTracker(master)和很多歌TaskTracker(slave)集群節(jié)點的一個共同組成。在MapReduce客戶端的代碼需要指明輸入/輸出的位置(文件路徑/DB/NOSQL/HBASE),客戶端再加上作業(yè)的參數(shù),就構(gòu)成了作業(yè)配置(job configuration),客戶端代碼需要定義map和reduce方法通過實現(xiàn)合適的抽象類,并在實現(xiàn)的方法中編寫業(yè)務邏輯,在客戶端還要定義Map/Reduce的輸入和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏電站節(jié)能改造與運維服務承包協(xié)議
- 廢舊金屬回收與環(huán)保技術(shù)研發(fā)合作協(xié)議
- 智能家居電商3D產(chǎn)品模型設計與用戶反饋服務協(xié)議
- 跨界新能源汽車電池梯次利用環(huán)保產(chǎn)業(yè)合作協(xié)議
- 購物中心運動品牌區(qū)品牌入駐與委托經(jīng)營合同
- 網(wǎng)絡游戲虛擬道具設計版權(quán)授權(quán)及衍生品開發(fā)協(xié)議
- 抖音直播平臺內(nèi)容創(chuàng)作者權(quán)益保障協(xié)議
- 箱包鞋帽五金配件品牌授權(quán)與銷售合作協(xié)議
- 產(chǎn)業(yè)園區(qū)廠房租賃及人才引進合作協(xié)議
- 模具行業(yè)技術(shù)改造質(zhì)量檢測與改進服務協(xié)議
- DB11∕T 729-2020 外墻外保溫工程施工防火安全技術(shù)規(guī)程
- 第02輯一輪語法 專題16 with復合結(jié)構(gòu)(高考真題+名校模擬+寫作升格)(教師版) 2025屆新高三英語提分培優(yōu)通關(guān)練(高考真題+名校模擬)
- 計算機及外部設備裝配調(diào)試員理論考試復習題庫(含答案)
- 初中課外文言文閱讀訓練60篇及答案
- 河道治理度汛施工方案
- 2024年重慶市高考物理試卷(含答案解析)
- 2024-2030年中國軍用個人防護裝備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 2022年6月英語四級真題 第一套
- DB33∕T 2154-2018 公路橋梁后張法預應力施工技術(shù)規(guī)范
- 四川省涼山州2022-2023學年七年級下學期期末歷史試題
- JBT 1306-2024 電動單梁起重機(正式版)
評論
0/150
提交評論