大數(shù)據(jù)處理詳細(xì)設(shè)計(jì)說明_第1頁
大數(shù)據(jù)處理詳細(xì)設(shè)計(jì)說明_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余15頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、6.信息編碼設(shè)計(jì)6.1 代碼結(jié)構(gòu)設(shè)計(jì)1.1專業(yè)學(xué)習(xí)資料目錄目錄1引言1.1 背景與目的1.2 專業(yè)術(shù)語及說明3.1.3 參考資料2.設(shè)計(jì)概述2.1 任務(wù)及目標(biāo)2.2 需求概述2.3 運(yùn)行環(huán)境概述3.系統(tǒng)詳細(xì)需求分析6.3.1 詳細(xì)需求分析4.總體設(shè)計(jì)方案4.1 系統(tǒng)總體結(jié)構(gòu)7.4.2 系統(tǒng)模塊劃分5.系統(tǒng)詳細(xì)設(shè)計(jì).9.5.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)5.2 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)1.Q6.2 代碼命名規(guī)則121.1 背景與目的專業(yè)學(xué)習(xí)資料7維護(hù)設(shè)計(jì)127.1系統(tǒng)的可靠性和安全性127.2 系統(tǒng)及用戶維護(hù)設(shè)計(jì)127.3 系統(tǒng)擴(kuò)充設(shè)計(jì)128.系統(tǒng)配置138.1 硬件配置.1.3.8.2 軟件配置.1.3.9.關(guān)

2、鍵技術(shù)139.1 關(guān)鍵技術(shù)的一般說明139.2 關(guān)鍵技術(shù)的實(shí)現(xiàn)方案1410.測(cè)試.14.10.1 測(cè)試方案141.引言當(dāng)下互聯(lián)網(wǎng)和計(jì)算機(jī)技術(shù)越來越多的被各行各業(yè)利用,于是產(chǎn)生了海量的數(shù)據(jù)。進(jìn)入專業(yè)學(xué)習(xí)資料2012 年后,大數(shù)據(jù)”一詞越來越多的被提及,人們用它來描述和定義信息爆照時(shí)代產(chǎn)生的海量數(shù)據(jù)。顯而易見地,數(shù)據(jù)正在迅速膨脹并變大,它決定著企業(yè)的未來發(fā)展,雖然現(xiàn)在企業(yè)可 能還沒有意識(shí)到,但隨著時(shí)間的推移,人們將越來越多的意識(shí)到數(shù)據(jù)對(duì)企業(yè)的重要性。而這就需要有一種框架來分析處理這種大數(shù)據(jù)。對(duì)于電力行業(yè)更是如此,電力方面每時(shí)每刻都在產(chǎn)生著大量的數(shù)據(jù),而對(duì)這些數(shù)據(jù)的分析和利用有著巨大的市場(chǎng)前景和意義

3、。1.2 專業(yè)術(shù)語及說明Hadoop : 種分布式基礎(chǔ)架構(gòu),由 Apache 基金會(huì)開發(fā)。用戶可以在不了解分布是 底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力運(yùn)算和存儲(chǔ)。Hadoop 實(shí)現(xiàn)了一個(gè)分布式系統(tǒng) (Hadoop Distributed File System ),簡(jiǎn)稱 HDFS。HDFS 有著高容錯(cuò)性的 特點(diǎn),并且設(shè)計(jì)用來部署在低廉的(low-cost )硬件上。而且它提供高傳輸率 (highthroughput )來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set )的應(yīng)用程序。HDFS 放寬了 ( relax) POSIX 的要求 (require

4、ments )這樣可以流的形式訪問(streaming access )文件系統(tǒng)中的數(shù)據(jù)。Hbase :是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫。Map reduce :是一種編程模型,用于大規(guī)模數(shù)據(jù)集 (大于 1T)的并行運(yùn)算。當(dāng)前的軟 件實(shí)現(xiàn)是指定一個(gè) Map 函數(shù),用來把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce 函數(shù),用來保證所有的映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組。2.1 任務(wù)及目標(biāo)專業(yè)學(xué)習(xí)資料1.3 參考資料1】相海泉大數(shù)據(jù)時(shí)代J.中國(guó)信息界,2013 (5).2】李成華,張新訪,金海,等.MapReduce:新型的分布式并行計(jì)算編程模型J.計(jì)算機(jī)工程與科學(xué),2011,33

5、(003): 129-135.3】謝桂蘭,羅省賢.基于 HadoopMapReduce模型的應(yīng)用研究JJ.微型機(jī)與應(yīng)用,2010, 25(3): 4-7.4】陳勇.基于 Hadoop 平臺(tái)的通信數(shù)據(jù)分布式查詢算法的設(shè)計(jì)與實(shí)現(xiàn)DD.北京:北京交通大學(xué),2009.5 】Taylor R C. An overview of the Hadoop/MapReduce/HBase framework and itscurre nt applicatio ns in bioi nformaticsJ. BMC bioi nformatics, 2010, 11(Suppl 12): S1.2. 設(shè)計(jì)概述從

6、 HBASE 中取數(shù)據(jù)(driver 類)- 通過 MapReduce 對(duì)數(shù)據(jù)進(jìn)行第一次處理(Mapper 類)- 根據(jù)應(yīng)用層的需要,對(duì)處理過 的數(shù)據(jù)再次進(jìn)行處理(Reducer 類以及附加類:簡(jiǎn)單的數(shù)學(xué)基本函數(shù)、統(tǒng)計(jì)、概率等),并且返回給客戶端 (預(yù)留接口)數(shù)據(jù)合成:專業(yè)學(xué)習(xí)資料1、PI 的常用函數(shù):最大值、平均值等2、 專業(yè)函數(shù)(與 PI 服務(wù)器類似的內(nèi)置函數(shù))數(shù)據(jù)訂單:1、基本的數(shù)據(jù)挖掘、數(shù)理統(tǒng)計(jì)函數(shù)功能(如統(tǒng)計(jì)/概率)2.2 需求概述因?yàn)殡娏π袠I(yè)在實(shí)際生產(chǎn)和應(yīng)用的過程中會(huì)產(chǎn)生大量的數(shù)據(jù),而這些數(shù)據(jù)又對(duì)電力有著巨大的影響和意義。對(duì)這些數(shù)據(jù)的處理和存儲(chǔ)就成為一個(gè)迫在眉睫的問題。從這些數(shù)據(jù)中

7、可以提取很多對(duì)于電力行業(yè)以后的發(fā)展和現(xiàn)今的實(shí)際生產(chǎn)有著指導(dǎo)意義的數(shù)據(jù),利用好這些海量的數(shù)據(jù)則成為如今電力的一個(gè)極具戰(zhàn)略意義的問題。但是,如今的 PI 服務(wù)器不但不能滿足于這個(gè)需求而且成本較高,所以就有替代的必要。2.3 運(yùn)行環(huán)境概述20 個(gè)計(jì)算節(jié)點(diǎn)的 Hadoop 集群(可橫向擴(kuò)展),集群配置為 2*4 核 CPU, 40 80G 內(nèi)存,6 12T 存儲(chǔ)。2.4 詳細(xì)設(shè)計(jì)方法和工具利用 Map 函數(shù)從 Hbase 中取數(shù)據(jù),Reduce 函數(shù)對(duì)取到的數(shù)據(jù)進(jìn)行處理,返回結(jié)果給用戶。如下圖專業(yè)學(xué)習(xí)資料編程工具:eclipse編程語言:java3. 系統(tǒng)詳細(xì)需求分析3.1 詳細(xì)需求分析A 功能需求分

8、析:批量查詢功能,數(shù)據(jù)處理功能(專業(yè)數(shù)學(xué)函數(shù),基本計(jì)算函數(shù),統(tǒng) 計(jì)等)B 性能需求分析:實(shí)時(shí)性要求較高,對(duì)于數(shù)據(jù)的處理計(jì)算 Mapreduce 完全能夠勝任C 資源需求分析:多臺(tái)普通 X86 服務(wù)器,成本較低。D 系統(tǒng)運(yùn)行環(huán)境及限制條件分析:系統(tǒng)需要在 Linux 系統(tǒng)上面運(yùn)行,搭建 hadoop 集群框架E 現(xiàn)有軟、硬件資源分析:如今華電現(xiàn)有 X86 服務(wù)器 4 臺(tái),可以利用虛擬技術(shù)對(duì) hadoop 集群進(jìn)行布置。軟件方面目前 hadoop 框架已搭建成功,可以直接使用。產(chǎn)二二盤擁節(jié)電數(shù)據(jù)塊 0數(shù)鋸塊 14 塊數(shù)據(jù)塊 2/-數(shù)據(jù)塊 m數(shù)抿塊 4主芳點(diǎn)nlNp無數(shù)據(jù)/JobTricJnr塊數(shù)那

9、,Shuffle廠-、結(jié)果XR rt |H-專業(yè)學(xué)習(xí)資料4. 總體設(shè)計(jì)方案4.1 系統(tǒng)總體結(jié)構(gòu)女口下圖為 hadoop、hbase、hadoop mapreduce 的層次結(jié)構(gòu)Hadoop MapReduceHBaseHDFSMap Reduce 分為三個(gè)類:Driver 類、Mapper 類、Reducer 類輸入的參數(shù)類型是 String 類(測(cè)點(diǎn)名+時(shí)間段+ ( query 內(nèi)容),解析之后,通過Map Function 按照檢索條件最后輸出 List ( Hashtable )類型結(jié)果;經(jīng)過 Map Function 之后的結(jié)果,然后在 Reducer 類里通過調(diào)用附加類的函數(shù)進(jìn)行運(yùn)算

10、,最后輸出結(jié)果 List(Value )。女口下圖專業(yè)學(xué)習(xí)資料4.2 系統(tǒng)模塊劃分1) Map 類:Map Fun cti onArrayListReduce Fun cti onArrayList(SearchResultsw)。用戶專業(yè)學(xué)習(xí)資料Map 寫入檢索條件,遍歷數(shù)據(jù)庫 HBASE,得到需要的數(shù)據(jù)(可以提供的 API 按時(shí)間檢索,按點(diǎn)名檢索等)。需要參數(shù)為 Hashtable 類型(hashtable )進(jìn)過 Map 函 數(shù)之后輸出數(shù)據(jù)為 ArrayList。2)Reduce 類:Reduce 函數(shù)得到 Map 的返回結(jié)果即 ArrayList 類型的數(shù)據(jù)之后經(jīng)過運(yùn)算處理返回給 Us

11、er 的數(shù)據(jù)為 ArrayList(SearchResultsw)。3)基礎(chǔ)類:封裝的函數(shù):加減乘除等基本運(yùn)算、統(tǒng)計(jì) count、計(jì)算概率、解析字符串、專業(yè) 函數(shù)等。4)Driver 類:使用 JobConf 和 JobClient 提交作業(yè);與 Map 類和 Reduce 類關(guān)聯(lián)。5.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)分為兩個(gè) java 包:一個(gè)是批量查詢的包(querydatatable ), 一個(gè)是批量計(jì)算的包(datamath )。在 querydatatable 包內(nèi),有四個(gè)類:DriverQuery 類、QueryMap 類、專業(yè)學(xué)習(xí)資料StringAnalytical 類、TxtHBase 類

12、。在 datamath 包內(nèi),有多個(gè)類 :MathDriver 類、MathMap 類、MathSum 類、專業(yè)學(xué)習(xí)資料MathCount 類、MathDataAppend 類等,這個(gè)包內(nèi)需要封裝一些類似PI 服務(wù)器里的函數(shù)如下表所示PIMapReduce三角函數(shù)三角函數(shù) (sin、cos、tan )Log、lgLog、lg平方根 Sqr、方差平方根 Sqr、方差A(yù)vg、max、min、total ( sum)Avg、max、min、total ( sum)絕對(duì)值 abs、近似值(round)絕對(duì)值 abs、近似值(round)加減乘除加減乘除統(tǒng)計(jì)統(tǒng)計(jì)專業(yè)函數(shù)(水汽、功率)專業(yè)函數(shù)(水汽、功率

13、)字符串解析(.)字符串解析()時(shí)間轉(zhuǎn)化(時(shí)間戳)時(shí)間轉(zhuǎn)化(時(shí)間戳)錯(cuò)誤處理錯(cuò)誤處理好點(diǎn)、壞點(diǎn)處理好點(diǎn)、壞點(diǎn)處理55.2 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)總體功能分為兩個(gè)部分:數(shù)據(jù)訂單,數(shù)據(jù)合成。A.數(shù)據(jù)訂單即批量查詢功能編寫字符串解析類,解析 HBase 的 RowKey。然后編寫 Map per 類,這個(gè)類繼承專業(yè)學(xué)習(xí)資料自 MapReduceBase ,重寫這里面的接口函數(shù) Map per ,將檢索條件寫入 Mapper 類。然后通過 Driver 類調(diào)用 JobConf 和 JobClient 提交作業(yè)。B.數(shù)據(jù)合成即根據(jù)上次應(yīng)用的需求對(duì)查詢后的數(shù)據(jù)進(jìn)行處理計(jì)算。查詢后的數(shù)據(jù)傳遞給Reducer

14、類,在 Reducer 類里進(jìn)行處理,這里需要封裝多個(gè)Reducer 類,根據(jù)上面列表內(nèi)的函數(shù)依次封裝,用戶 Reducer 類需要繼承MapReduceBase 類及實(shí)現(xiàn) Reducer 接口函數(shù),注意的一點(diǎn)是這個(gè)里面的輸入Key 及Value 要與 Map per 的輸出 key 及 Value 類型相同。另外因?yàn)橛须娏Ψ矫鎸I(yè)函數(shù)的存在,需要編寫一個(gè)附加類來提供這些計(jì)算方法,以便于在用戶 Reducer 類里面調(diào)用。以上的核心邏輯處理完之后,用 output.collect 方法來輸出最終的結(jié)果。最后還是使用 JobConf 及 JobClient 來提交作業(yè)。6.1 代碼結(jié)構(gòu)設(shè)計(jì)源代碼

15、分為兩個(gè)包,每個(gè)包內(nèi)有不同的 java 類。Source 文件下需要導(dǎo)入 hadoop 框架的四個(gè).xml 文 件分另 U 為 : core-site.xml 、 hbase-site.xml 、 hdfs-site.xml 、 mapred-site.xml 。還有需要有 hadoop 的 jar 包支持。Map Reduce 框架結(jié)構(gòu)主要是分為3 個(gè)類:Driver 類、Map 類、Reduce 類Driver 類代碼結(jié)構(gòu)為:首先創(chuàng)建 JobCo nf 對(duì)象 conf,設(shè)置 conf 的配置,關(guān)聯(lián) Map 類、Reducer 類及其他類。然后調(diào)用 JobClie nt 的靜態(tài)方法 run

16、Job 方法啟動(dòng) M/R 程序。Map 類代碼結(jié)構(gòu)為:這個(gè)用戶類要求繼承自MapReduceBase 并且實(shí)現(xiàn) Mapper 接專業(yè)學(xué)習(xí)資料口,然后根據(jù)檢索條件遍歷HBase 中的內(nèi)容,得到所需要的內(nèi)容,并且或輸出或傳遞給專業(yè)學(xué)習(xí)資料Reducer 用戶類。Reducer 類代碼結(jié)構(gòu)為:這個(gè)用戶類要求繼承自 MapReduceBase 接口,然后通過調(diào)用附加類中的函數(shù)運(yùn)算或者根據(jù)要求,對(duì) Mapper理,并且利用 output.collect 方法輸出最終的結(jié)果。附加類代碼結(jié)構(gòu):根據(jù)表中所列的函數(shù)及其他需求,編寫封裝函數(shù)6.2 代碼命名規(guī)則盡量使用英文直譯之后名稱來定義,首字母大寫。7. 維護(hù)

17、設(shè)計(jì)7.1 系統(tǒng)的可靠性和安全性后期設(shè)計(jì)中會(huì)加入控制臺(tái)設(shè)計(jì),權(quán)限設(shè)計(jì)以及針對(duì)用戶的特殊設(shè)計(jì)7.2 系統(tǒng)及用戶維護(hù)設(shè)計(jì)利用 hadoop 框架提供的維護(hù)可以實(shí)現(xiàn)這一功能并且實(shí)現(xiàn) Reducer之后的數(shù)據(jù)經(jīng)行處。專業(yè)學(xué)習(xí)資料7.3 系統(tǒng)擴(kuò)充設(shè)計(jì)因?yàn)?hadoop 框架是支持橫向擴(kuò)展的,所以存儲(chǔ)量這方面不用擔(dān)心。在功能方面可以 預(yù)留接口以方便以后的功能性擴(kuò)展。8. 系統(tǒng)配置8.1 硬件配置開發(fā):可以在虛擬機(jī)下開發(fā),需要五臺(tái)虛擬機(jī)搭建 hadoop 集群(測(cè)試使用)。運(yùn)行:多臺(tái)普通的 X86 服務(wù)器。(實(shí)體的 hadoop 集群)8.2 軟件配置開發(fā)環(huán)境:eclipse、java1.6、hadoop

18、框架、HBase、win7 64 位操作系統(tǒng) 運(yùn)行環(huán)境:zookeeper、HBase、Hadoop、Linux64 位操作系統(tǒng)9. 關(guān)鍵技術(shù)9.1 關(guān)鍵技術(shù)的一般說明Map/Reduce 是一個(gè)用于大規(guī)模數(shù)據(jù)處理的分布式計(jì)算編程模型,用戶定義一個(gè) map函數(shù)來處理一個(gè) Key/Value 對(duì)以生成一批中間的 key/value 對(duì),在定義一個(gè) reduce 函數(shù)將 所有的這些中間的有著相同的 key 的 values 合并起來。而基于 hadoop 的 Map Reduce 也專業(yè)學(xué)習(xí)資料是如此。9.2 關(guān)鍵技術(shù)的實(shí)現(xiàn)方案運(yùn)行于 Hadoop 的 MapReduce 應(yīng)用程序最基本的組成部分包括一個(gè)Mapper 和一個(gè)Re

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論