


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄 HYPERLINK l _TOC_250030 目錄1 HYPERLINK l _TOC_250029 引言2 HYPERLINK l _TOC_250028 背景與目的2 HYPERLINK l _TOC_250027 專業(yè)術(shù)語及說明2 HYPERLINK l _TOC_250026 參考資料2 HYPERLINK l _TOC_250025 設(shè)計(jì)概述3 HYPERLINK l _TOC_250024 任務(wù)及目標(biāo)3 HYPERLINK l _TOC_250023 需求概述3 HYPERLINK l _TOC_250022 運(yùn)行環(huán)境概述3 HYPERLINK l _TOC_250021
2、系統(tǒng)詳細(xì)需求分析4 HYPERLINK l _TOC_250020 詳細(xì)需求分析4 HYPERLINK l _TOC_250019 總體設(shè)計(jì)方案4 HYPERLINK l _TOC_250018 系統(tǒng)總體結(jié)構(gòu)4 HYPERLINK l _TOC_250017 系統(tǒng)模塊劃分5 HYPERLINK l _TOC_250016 系統(tǒng)詳細(xì)設(shè)計(jì)5 HYPERLINK l _TOC_250015 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)5系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)6 HYPERLINK l _TOC_250014 信息編碼設(shè)計(jì)6 HYPERLINK l _TOC_250013 代碼結(jié)構(gòu)設(shè)計(jì)6 HYPERLINK l _TOC_250012
3、 代碼命名規(guī)則7 HYPERLINK l _TOC_250011 維護(hù)設(shè)計(jì)7 HYPERLINK l _TOC_250010 系統(tǒng)的可靠性和安全性7 HYPERLINK l _TOC_250009 系統(tǒng)及用戶維護(hù)設(shè)計(jì)7 HYPERLINK l _TOC_250008 系統(tǒng)擴(kuò)充設(shè)計(jì)7 HYPERLINK l _TOC_250007 系統(tǒng)配置7 HYPERLINK l _TOC_250006 硬件配置7 HYPERLINK l _TOC_250005 軟件配置7 HYPERLINK l _TOC_250004 關(guān)鍵技術(shù)7 HYPERLINK l _TOC_250003 關(guān)鍵技術(shù)的一般說明7 HYP
4、ERLINK l _TOC_250002 關(guān)鍵技術(shù)的實(shí)現(xiàn)方案8 HYPERLINK l _TOC_250001 測(cè)試8 HYPERLINK l _TOC_250000 測(cè)試方案8引言背景與目的當(dāng)下互聯(lián)網(wǎng)和計(jì)算機(jī)技術(shù)越來越多的被各行各業(yè)利用,于是產(chǎn)生了海量的數(shù)據(jù)。進(jìn)入2012 海量數(shù)據(jù)。生著大量的數(shù)據(jù),而對(duì)這些數(shù)據(jù)的分析和利用有著巨大的市場(chǎng)前景和意義。專業(yè)術(shù)語及說明Hadoop :一種分布式基礎(chǔ)架構(gòu),由 Apache Hadoop 實(shí)現(xiàn)了一個(gè)Hadoop Distributed File Syste,簡(jiǎn)稱HDFHDFS 硬件上。而且它提供高傳輸率throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那
5、些有著超大數(shù)據(jù)集data set)HDFS 放寬了(relax)POSIX 的要求(requirements)這樣可以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。Hbase:是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫(kù)。 (實(shí)現(xiàn)是指定一個(gè)Map 函數(shù),用來把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce函數(shù),用來保證所有的映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組。參考資料【1】相海泉. 大數(shù)據(jù)時(shí)代J. 中國(guó)信息界, 2013 (5).【2】李成華, 張新訪, 金海, 等. MapReduce: 新型的分布式并行計(jì)算編程模型J. 計(jì)算機(jī)工程與科學(xué), 2011, 33(003):
6、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 its current applications in bioinformaticsJ. BMC bioinformatics, 2010, 11(Suppl 12): S1.設(shè)計(jì)概述從
7、HBASE 中取數(shù)據(jù)(driver 類)通過MapReduce 理(Mapper 類)根據(jù)應(yīng)用層的需要,對(duì)處理過的數(shù)據(jù)再次進(jìn)行處理 類以及附加類:簡(jiǎn)單的數(shù)學(xué)基本函數(shù)、統(tǒng)計(jì)、概率等,并且返回給客戶端(預(yù)留接口)任務(wù)及目標(biāo)數(shù)據(jù)合成:1、PI 的常用函數(shù):最大值、平均值等2、專業(yè)函數(shù)(與PI 服務(wù)器類似的內(nèi)置函數(shù)數(shù)據(jù)訂單:1、基本的數(shù)據(jù)挖掘、數(shù)理統(tǒng)計(jì)函數(shù)功能(如統(tǒng)計(jì)/概率)需求概述因?yàn)殡娏π袠I(yè)在實(shí)際生產(chǎn)和應(yīng)用的過程中會(huì)產(chǎn)生大量的數(shù)據(jù)PI 運(yùn)行環(huán)境概述20 個(gè)計(jì)算節(jié)點(diǎn)的Hadoop (可橫向擴(kuò)展2*4 內(nèi)存,612T 存儲(chǔ)。詳細(xì)設(shè)計(jì)方法和工具M(jìn)ap 函數(shù)從Hbase 戶。如下圖編程工具:eclipse
8、 編程語言:java系統(tǒng)詳細(xì)需求分析詳細(xì)需求分析A 功能需求分析:批量查詢功能,數(shù)據(jù)處理功能(等)B 性能需求分析:實(shí)時(shí)性要求較高,對(duì)于數(shù)據(jù)的處理計(jì)算Mapreduce 完全能夠勝任C 資源需求分析:多臺(tái)普通X86 服務(wù)器,成本較低。D 系統(tǒng)運(yùn)行環(huán)境及限制條件分析:系統(tǒng)需要在Linux hadoop 框架E 現(xiàn)有軟、硬件資源分析:如今華電現(xiàn)有 X86 服務(wù)器 4 臺(tái),可以利用虛擬技術(shù)對(duì) hadoop集群進(jìn)行布置。軟件方面目前hadoop 框架已搭建成功,可以直接使用??傮w設(shè)計(jì)方案系統(tǒng)總體結(jié)構(gòu)如下圖為hadoop、hbase、hadoop mapreduce 的層次結(jié)構(gòu)MapReduce 分為三
9、個(gè)類:Driver 類、Mapper 類、Reducer 類輸入的參數(shù)類型是 String類(query內(nèi)容,解析之后,通過 Map Function 按照檢索條件最后輸出Map Function 然后在Reducer 類里通過調(diào)用附加類的函數(shù)進(jìn)行運(yùn)算,最后輸出結(jié)果Lis(Valu。如下圖Map FunctionArrayListReduce FunctionArrayList(SearchResultsw)。用戶系統(tǒng)模塊劃分Map類:Map 寫入檢索條件,遍歷數(shù)據(jù)庫(kù)HBASE,得到需要的數(shù)據(jù)(可以提供的API 間檢索,按點(diǎn)名檢索等。需要參數(shù)為Hashtable 進(jìn)過 Map 后輸出數(shù)據(jù)為Ar
10、rayListKey:SessionID,Value:Search 。Reduce類:Reduce 函數(shù)得到Map 的返回結(jié)果即ArrayList 類型的數(shù)據(jù)之后經(jīng)過運(yùn)算處理返回給User 的數(shù)據(jù)為ArrayList(SearchResultsw)?;A(chǔ)類:封裝的函數(shù):加減乘除等基本運(yùn)算、統(tǒng)計(jì)count、計(jì)算概率、解析字符串、專業(yè)函數(shù)等。Driver類:使用JobConf 和JobClient 提交作業(yè);與Map 類和Reduce 類關(guān)聯(lián)。系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)分為兩個(gè) java 包:一個(gè)是批量查詢的包(querydatatabl,一個(gè)是批量計(jì)算的包datamat。在 querydata
11、table 包內(nèi),有四個(gè)類:DriverQuery 類、QueryMap 類、StringAnalytical 類、TxtHBase 類。datamath 包內(nèi),有多個(gè)類:MathDriver 類、MathMap MathSum 類、MathCount 類、MathDataAppend 類等,這個(gè)包內(nèi)需要封裝一些類似PI PI三角函數(shù)Log、lg平方根Sqr、方差A(yù)vg、max、min、total(sum) 絕對(duì)值abs、近似值(round) 加減乘除統(tǒng)計(jì)專業(yè)函數(shù)(水汽、功率) 字符串解析(.)時(shí)間轉(zhuǎn)化(時(shí)間戳) 錯(cuò)誤處理好點(diǎn)、壞點(diǎn)處理MapReduce三角函數(shù)(sin、cos、tan)Log
12、、lg平方根Sqr、方差A(yù)vg、max、min、total(sum) 絕對(duì)值abs、近似值(round) 加減乘除統(tǒng)計(jì)專業(yè)函數(shù)(水汽、功率) 字符串解析(.)時(shí)間轉(zhuǎn)化(時(shí)間戳) 錯(cuò)誤處理好點(diǎn)、壞點(diǎn)處理系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)總體功能分為兩個(gè)部分:數(shù)據(jù)訂單,數(shù)據(jù)合成。數(shù)據(jù)訂單即批量查詢功能編寫字符串解析類,解析HBase 的RowKey。然后編寫Mapper 類,這個(gè)類繼承自MapReduceBase,重寫這里面的接口函數(shù)Mapper,將檢索條件寫入Mapper Driver 類調(diào)用JobConf 和JobClient 提交作業(yè)。數(shù)據(jù)合成即根據(jù)上次應(yīng)用的需求對(duì)查詢后的數(shù)據(jù)進(jìn)行處理計(jì)算。查詢后的數(shù)據(jù)傳
13、遞給 Reducer 類,在 Reducer Reducer Reducer 類需要繼承MapReduceBase Reducer 接口函數(shù),注意的一點(diǎn)是這個(gè)里面的輸入Key Value Mapper 的輸出key Value 類型相同。另外因?yàn)橛须娏Ψ矫鎸I(yè)函數(shù)的存在,需要編寫一個(gè)附加類來提供這些計(jì)算方法, 以便于在用戶Reducer 類里面調(diào)用。output.collect 用JobConf 及JobClient 來提交作業(yè)。信息編碼設(shè)計(jì)代碼結(jié)構(gòu)設(shè)計(jì)源代碼分為兩個(gè)包,每個(gè)包內(nèi)有不同的java Source 文件下需要導(dǎo)入hadoop 框架的四個(gè).xml hbase-site.xmlhdfs
14、-site.xmlmapred-site.xmlhadoop jar 包支持。MapReduce 框架結(jié)構(gòu)主要是分為 3 個(gè)類:Driver 類、Map 類、Reduce 類Driver 類代碼結(jié)構(gòu)為:首先創(chuàng)建JobConf 對(duì)象 conf,設(shè)置 conf 的配置,關(guān)聯(lián)Map 類、Reducer 類及其他類。然后調(diào)用JobClient 的靜態(tài)方法runJob 方法啟動(dòng)M/R 程序。Map MapReduceBase 并且實(shí)現(xiàn)Mapper 后根據(jù)檢索條件遍歷 HBase 中的內(nèi)容,得到所需要的內(nèi)容,并且或輸出或傳遞給 用戶類。Reducer MapReduceBase 并且實(shí)現(xiàn)Reducer 然
15、后通過調(diào)用附加類中的函數(shù)運(yùn)算或者根據(jù)要求,對(duì)Mapper 之后的數(shù)據(jù)經(jīng)行處理,并且利output.collect 方法輸出最終的結(jié)果。附加類代碼結(jié)構(gòu):根據(jù)表中所列的函數(shù)及其他需求,編寫封裝函數(shù)。代碼命名規(guī)則盡量使用英文直譯之后名稱來定義,首字母大寫。維護(hù)設(shè)計(jì)系統(tǒng)的可靠性和安全性后期設(shè)計(jì)中會(huì)加入控制臺(tái)設(shè)計(jì),權(quán)限設(shè)計(jì)以及針對(duì)用戶的特殊設(shè)計(jì)。系統(tǒng)及用戶維護(hù)設(shè)計(jì)利用 hadoop 框架提供的維護(hù)可以實(shí)現(xiàn)這一功能。系統(tǒng)擴(kuò)充設(shè)計(jì)因?yàn)?hadoop 框架是支持橫向擴(kuò)展的,所以存儲(chǔ)量這方面不用擔(dān)心。在功能方面可以預(yù)留接口以方便以后的功能性擴(kuò)展。系統(tǒng)配置硬件配置開發(fā):可以在虛擬機(jī)下開發(fā),需要五臺(tái)虛擬機(jī)搭建had
16、oop 集群(測(cè)試使用運(yùn)行:多臺(tái)普通的X86 (hadoop 集群)軟件配置開發(fā)環(huán)境:eclipse、java1.6、hadoop HBase、win7 64 運(yùn)行環(huán)境:zookeeperHBaseHadoop、Linux64 位操作系統(tǒng)關(guān)鍵技術(shù)關(guān)鍵技術(shù)的一般說明Map/Reduce 是一個(gè)用于大規(guī)模數(shù)據(jù)處理的分布式計(jì)算編程模型,用戶定義一個(gè)map 函Key/Value key/value reduce 函數(shù)將所有的這些中間的有著相同的key values 合并起來。而基于hadoop MapReduce 關(guān)鍵技術(shù)的實(shí)現(xiàn)方案運(yùn)行于 Hadoop 的 MapReduce 應(yīng)用程序最基本的組成部分包括一個(gè) Mapper 和一個(gè)Reducer 類,以及一個(gè)創(chuàng)建 JobConf 的執(zhí)行程序,在一些應(yīng)用中還可以包括一個(gè) Combiner MapReduce 框架是由一個(gè)單獨(dú)的JobTracker(master)和很多歌 群節(jié)點(diǎn)的一個(gè)共同組成。在 MapReduce / (/DB/NOSQL/HBAS,客戶端再加上作業(yè)的參數(shù),就構(gòu)成了作業(yè)配置job map 和 reduce 方法通過實(shí)現(xiàn)合適的抽象類,并在實(shí)現(xiàn)的方法中編寫業(yè)務(wù)邏輯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關(guān)實(shí)習(xí)生心得范文(30篇)
- 2025年崗前培訓(xùn)帶班操作手冊(cè):全程實(shí)操指導(dǎo)
- 如何做一名合格的醫(yī)務(wù)人員課件
- 健康奶制品知識(shí)培訓(xùn)課件
- 2025年貴州貨運(yùn)資格證試題答案解析
- 餐廳與廚師合作協(xié)議
- 煤礦職業(yè)病防治工作課件
- 2025年遼寧貨運(yùn)從業(yè)資格考試模擬考試題及答案
- 光伏產(chǎn)品銷售合同
- 框架式思維模式創(chuàng)新教育培養(yǎng)路徑
- 家校共育之道
- DeepSeek入門寶典培訓(xùn)課件
- 西安2025年陜西西安音樂學(xué)院專職輔導(dǎo)員招聘2人筆試歷年參考題庫(kù)附帶答案詳解
- 《作文中間技巧》課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 2025屆八省聯(lián)考 新高考適應(yīng)性聯(lián)考英語試題(原卷版)
- 新蘇教版一年級(jí)下冊(cè)數(shù)學(xué)第1單元第3課時(shí)《8、7加幾》作業(yè)
- 2024年山東電力高等??茖W(xué)校高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年電力交易員(高級(jí)工)職業(yè)鑒定理論考試題庫(kù)(單選題、多選題、判斷題)
- 《平面廣告賞析》課件
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊(cè)+
評(píng)論
0/150
提交評(píng)論