freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于hadoop平臺(tái)的教育資源垂直搜索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2025-06-18 16:00本頁(yè)面
  

【正文】 部分地收,存儲(chǔ)在本地倉(cāng)庫(kù),同時(shí)傳給第三個(gè)Datanode,第三個(gè)Datanode就僅僅是接收并存儲(chǔ)了。這就是流水線式的復(fù)制。 Map/Reduce 技術(shù) 主要操作實(shí)現(xiàn)1) Map 操作Map操作是并行的,所以輸入文件先被劃分為幾個(gè)“文件片斷。如果單個(gè)文件的大小達(dá)到了影響搜索時(shí)間的程度,這個(gè)文件也會(huì)被劃分為幾個(gè)“片段”。在文件劃分的時(shí)候并不考慮輸入文件的內(nèi)部邏輯結(jié)構(gòu),例如一個(gè)按行記錄的文本文件也會(huì)被按照二進(jìn)制字節(jié)數(shù)大小進(jìn)行片段劃分。然后,每個(gè)“文件片段”會(huì)對(duì)應(yīng)的創(chuàng)建一個(gè)新的Map任務(wù)。當(dāng)一個(gè)單獨(dú)的Map任務(wù)開(kāi)始時(shí),對(duì)應(yīng)的都會(huì)按照每個(gè)Reduce任務(wù)配置輸出文件寫操作者。然后Map任務(wù)會(huì)使用從指定的lnputFormat類獲得的ReeordReader類來(lái)讀取它的FileSplit屬性。InputFormat類負(fù)責(zé)解析輸入和生成Key/Value對(duì)。InputFormat也需要處理達(dá)到FileSplit邊界值的記錄。例如TextlnputFormat會(huì)讀取超過(guò)分割邊界值的FileSplit的最后一行,當(dāng)讀到其他的非第一個(gè)FileSplit時(shí),TextlnputFormat會(huì)忽略第一個(gè)新行以上部分的內(nèi)容。對(duì)于InputFormat類來(lái)說(shuō),沒(méi)有必要同時(shí)產(chǎn)生有意義的索引鍵和值。例如TextlnputFormat的默認(rèn)輸出包含以輸入行為值以及以毫無(wú)意義的行在文件中的偏移量為索引鍵的內(nèi)容。絕大多數(shù)的應(yīng)用僅僅使用行的內(nèi)容而忽略行在文件中江蘇大學(xué)碩士研究生畢業(yè)論文17的偏移量。N個(gè)輸入文件會(huì)產(chǎn)生M個(gè)待運(yùn)行的Map任務(wù),每個(gè)Map任務(wù)都會(huì)產(chǎn)生由系統(tǒng)配置好的規(guī)約任務(wù)數(shù)量相同的輸出文件。每個(gè)輸出文件對(duì)應(yīng)一個(gè)規(guī)約任務(wù),所有Map對(duì)象的輸出鍵值對(duì)都會(huì)被路由以保證每一個(gè)給定的索引鍵的所有鍵值對(duì)會(huì)最終出現(xiàn)在指定的一個(gè)Reduce任務(wù)中。2) Combine 操作當(dāng)Map操作輸出了它的Key/Value對(duì)后就會(huì)駐留在內(nèi)存中。由于效率的原因,有時(shí)需要充分利用這個(gè)事實(shí)的優(yōu)點(diǎn)去提供一個(gè)執(zhí)行規(guī)約類型功能的Combiner類。如果使用了一個(gè)Combiner類,則映射過(guò)程產(chǎn)生的Key/Value對(duì)就不會(huì)立刻寫到輸出。與此相反的是,輸出會(huì)先被收集到列表,每個(gè)索引鍵對(duì)應(yīng)一個(gè)列表。當(dāng)一定數(shù)量的鍵值對(duì)被寫入時(shí),這個(gè)緩沖區(qū)里的所有鍵值對(duì)會(huì)被清空轉(zhuǎn)移到Combiner類的Reduce方法中,然后將合并操作產(chǎn)生的鍵值對(duì)像原有的Map操作一樣輸出。3) Reduce 操作當(dāng)一個(gè)Reduce任務(wù)開(kāi)始時(shí),它的輸入來(lái)源于分散在多個(gè)節(jié)點(diǎn)上的Map任務(wù)所產(chǎn)生的許多文件。如果Reduce過(guò)程是運(yùn)行在分布式模式下的話,需要在拷貝階段先將這些文件拷貝到Reduce任務(wù)所在節(jié)點(diǎn)的本地文件系統(tǒng)。一旦本地?cái)?shù)據(jù)準(zhǔn)備就緒所有的數(shù)據(jù)都會(huì)以追加到文件最后。然后這個(gè)文件會(huì)被歸并排序以保證給定一個(gè)索引鍵。這使得實(shí)際的Reduce操作非常簡(jiǎn)單:文件被順序讀入然后輸入文件中的一個(gè)索引鍵的所有對(duì)應(yīng)值會(huì)被一個(gè)迭代器順次傳遞給Reduce方法直到下一個(gè)索引鍵開(kāi)始。最后,每個(gè)執(zhí)行的Reduce任務(wù)的輸出都會(huì)包含一個(gè)輸出文件。輸出文件的格式由JobConf.setOutputFormat方法來(lái)指定。如果使用了SequentialOutputFormat類,則輸出索引鍵和索引鍵對(duì)應(yīng)值得類型都必須指定 [2124]。 Map/Reduce 執(zhí)行流程Map/,從數(shù)據(jù)流的角度展示了Map/Reduce算法模型。下面詳細(xì)講解一下每一個(gè)步驟的作用:江蘇大學(xué)碩士研究生畢業(yè)論文18圖 操作流程圖1. 分割文件(fork)首先,將眾多文件分成大小不等的若干小塊數(shù)據(jù),數(shù)據(jù)塊大小由用戶給定參數(shù)控制,然后啟動(dòng)機(jī)器集群中的眾多程序拷貝。2. 指派 Map/Reduce 任務(wù)在眾多程序拷貝中有一個(gè)管理機(jī)(master)的主程序,其他的均為工作站(worker)程序,工作站程序有管理機(jī)指派任務(wù)。主程序指派空閑的工作站程序執(zhí)行Map任務(wù)或是Reduce任務(wù)。3. 讀取(read)被指派執(zhí)行Map任務(wù)的工作站讀取相關(guān)的數(shù)據(jù)塊,從原始數(shù)據(jù)中解析出Key/Value對(duì),經(jīng)過(guò)Map函數(shù)處理,得到中問(wèn)鍵值時(shí),存入內(nèi)存緩沖區(qū)。4. 本地寫 A,(10cal write)內(nèi)存中的數(shù)據(jù)組被劃分函數(shù)周期性的劃分到R個(gè)區(qū)域?qū)懭氡镜卮疟P。這些在本地磁盤的數(shù)據(jù)數(shù)列的存放位置信息被送回管理機(jī),管理機(jī)負(fù)責(zé)將這些位置信息傳送到執(zhí)行Reduce任務(wù)的工作站。5. 遠(yuǎn)程讀取(remote read)當(dāng)執(zhí)行Reduce任務(wù)的工作站被告知這些數(shù)據(jù)的位置,它通過(guò)遠(yuǎn)程方式讀耿執(zhí)行Map任務(wù)的工作站中的本地緩沖數(shù)據(jù)。Reduce工作站讀取完所有中問(wèn)數(shù)據(jù)后,江蘇大學(xué)碩士研究生畢業(yè)論文19通過(guò)中問(wèn)關(guān)鍵字對(duì)數(shù)據(jù)進(jìn)行排列,把具有相同關(guān)鍵字的數(shù)據(jù)分為一類。排序操作是必須的,因?yàn)榫哂胁煌年P(guān)鍵字Map后會(huì)進(jìn)行相同的Reduce操作。如果中間數(shù)據(jù)的數(shù)量太大不適合存入內(nèi)存,就啟用外部存儲(chǔ)。6. 寫到輸出文件(write)Reduce工作站對(duì)每一個(gè)由唯一的中間關(guān)鍵字對(duì)應(yīng)的中間數(shù)據(jù)進(jìn)行排列,它發(fā)送關(guān)鍵字和相對(duì)應(yīng)的中間值給用戶的Reduce函數(shù)。Reduce函數(shù)的輸出結(jié)果將被添加到最后的輸出文件中。當(dāng)所有的Map任務(wù)和Reduce任務(wù)都已經(jīng)完成了的時(shí)候,Master激活用戶程序。在這時(shí)候Map/Reduce返回用戶程序的調(diào)用點(diǎn)。 基于 Hadoop 的 MDVSP 平臺(tái)的多層分布式架構(gòu) 系統(tǒng)體系結(jié)構(gòu)圖 系統(tǒng)結(jié)構(gòu)框圖在前面理論分析的基礎(chǔ)上我們可以得出,對(duì)于本系統(tǒng)我們可以采用 B/S 結(jié)構(gòu)比較好。如圖 所示,在 Browser/Server 三層體系結(jié)構(gòu)下,表示層、邏輯層、數(shù)據(jù)存儲(chǔ)層被分割成三個(gè)相對(duì)獨(dú)立的單元,有效地實(shí)現(xiàn)了數(shù)據(jù)存儲(chǔ)、功能邏輯與用戶使用界面的分離,并真正實(shí)現(xiàn)了顯示、計(jì)算、數(shù)據(jù)的分離。如此設(shè)江蘇大學(xué)碩士研究生畢業(yè)論文20計(jì)可以大以大大減輕網(wǎng)站服務(wù)器的網(wǎng)站,而且使他們之間互相不影響,既較好兼顧了用戶的查詢效率,同時(shí)也可以專門設(shè)計(jì)網(wǎng)頁(yè)的采集與分析時(shí)間,保證系統(tǒng)的工作效率和利用率。表示層:表示層用于生成用戶訪問(wèn)的 Web 頁(yè)面,該層是用來(lái)實(shí)現(xiàn)系統(tǒng)與用戶的一個(gè)人機(jī)接口。邏輯層:這一層是非常重要也是非常關(guān)鍵的一層,因?yàn)樗钦嬲饬x上實(shí)現(xiàn)用戶層與數(shù)據(jù)存儲(chǔ)計(jì)算的紐帶。在這一層里我們利用相應(yīng)的代碼實(shí)現(xiàn)前面設(shè)計(jì)好的一些關(guān)鍵算法。所以說(shuō)該層的設(shè)計(jì)是實(shí)現(xiàn)系統(tǒng)健壯性、可重用性、可擴(kuò)展性和可維護(hù)性的關(guān)鍵因素。數(shù)據(jù)存儲(chǔ)計(jì)算層:該層的實(shí)現(xiàn)是由 Hadoop 平臺(tái)實(shí)現(xiàn)。存儲(chǔ)數(shù)據(jù)庫(kù)選用Hadoop 組件中的 HBase,由圖 中我們可以看出該層主要是負(fù)責(zé)存儲(chǔ)整個(gè)搜索引擎的底層結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)存儲(chǔ)層主要包括兩個(gè)大規(guī)模的數(shù)據(jù)庫(kù),一是面向爬蟲所得頁(yè)面與抽取信息的寫入,二是面向客戶查詢的信息的讀取。在Hadoop 平臺(tái)中我們選擇多個(gè)數(shù)據(jù)節(jié)點(diǎn)即 DataNode,用于提高存儲(chǔ) Capacity 和計(jì)算效率。 MDVSP 平臺(tái)數(shù)據(jù)處理模型整體框架 因?yàn)?MDVSP 是基于 Inter 的 B/S 結(jié)構(gòu)的 Web 服務(wù),而且采用了多層結(jié)構(gòu)來(lái)設(shè)計(jì),所以這就決定了數(shù)據(jù)處理模型相對(duì)較復(fù)雜,如圖 所示。江蘇大學(xué)碩士研究生畢業(yè)論文21圖 數(shù)據(jù)處理模型框架數(shù)據(jù)處理模型中所有的業(yè)務(wù)計(jì)算都在 Hadoop 平臺(tái)上,利用 Map/Reduce 技術(shù)計(jì)算,查詢用戶數(shù)據(jù)、更新聚焦爬蟲數(shù)據(jù)。用戶上傳的視頻、音頻等數(shù)據(jù)存放在存儲(chǔ)設(shè)備中。為了提高用戶的訪問(wèn)速度,在 Web 服務(wù)器前端假設(shè)了負(fù)載均衡設(shè)備,提高 Webserver 的吞吐能力?;?Hadoop 平臺(tái)的業(yè)務(wù)數(shù)據(jù)并行計(jì)算,將在后面章節(jié)詳細(xì)展開(kāi)論述。 MDVSP 平臺(tái)數(shù)據(jù)在 HDFS 中存放結(jié)構(gòu)為了讓用戶自己上傳的數(shù)據(jù)能快速、準(zhǔn)確查詢到,我們把爬蟲的數(shù)據(jù)與用戶上傳的數(shù)據(jù)分開(kāi)。用戶上傳數(shù)據(jù)的優(yōu)先級(jí)大于爬蟲優(yōu)先級(jí),客戶端查詢的時(shí)候返回結(jié)果也采用相同的處理優(yōu)先級(jí),見(jiàn)圖 江蘇大學(xué)碩士研究生畢業(yè)論文22圖 數(shù)據(jù)存放目錄結(jié)構(gòu) MDVSP 通信數(shù)據(jù)模型設(shè)計(jì) 數(shù)據(jù)模型分析從前面提到的可以看出 Hbase 分布式數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)具有一定的哈希性質(zhì),非常適合處理 Key/Value 類型的數(shù)據(jù),以及結(jié)構(gòu)稀疏的大規(guī)模數(shù)據(jù)。但它不適合于處理關(guān)系型很強(qiáng)的結(jié)構(gòu)化數(shù)據(jù),因?yàn)樗旧聿⒉皇峭耆年P(guān)系型數(shù)據(jù)。Hbase 本身不保證數(shù)據(jù)的一致性,提供的查詢機(jī)制也比較簡(jiǎn)單。但是 Hbase 在大規(guī)模數(shù)據(jù)(TB 級(jí))的存儲(chǔ)和處理方面上有獨(dú)特的優(yōu)勢(shì)。它不建議用戶經(jīng)常修改數(shù)據(jù)。 “一次寫入,多次讀取”是 Hbase 數(shù)據(jù)庫(kù)最大的特色。而這種特色正好滿足分析系統(tǒng)的要求。聚焦爬蟲每天都會(huì)獲取龐大的數(shù)據(jù)量,以單臺(tái)爬蟲服務(wù)器單線程為例,每天至少 30G 的數(shù)據(jù)量,如果多臺(tái)爬蟲服務(wù)器并行,那么數(shù)據(jù)量有肯能達(dá)到 TB 級(jí)別。數(shù)據(jù)查詢或者數(shù)據(jù)傳輸任何一個(gè)地方存在瓶頸就會(huì)造成分析結(jié)果的低效或者失敗。在設(shè)計(jì)系統(tǒng)數(shù)據(jù)模型之前,我們先分析一下 MDVSP 業(yè)務(wù)處理的需求。爬蟲數(shù)據(jù)經(jīng)過(guò)主題過(guò)濾、分類后的格式主要包括:TraceID:爬行后產(chǎn)生的唯一 ID 號(hào)。Type:爬行數(shù)據(jù)的類型,這個(gè)決定了后臺(tái)服務(wù)器如何處理爬行到的原始數(shù)據(jù)。URL:記錄原始數(shù)據(jù)的位置 [2526]。江蘇大學(xué)碩士研究生畢業(yè)論文23 數(shù)據(jù)模型設(shè)計(jì)Hbase 是一個(gè)稀疏的,排序的,長(zhǎng)期存儲(chǔ)在硬盤上的,多維度的,映射表。這張表的索引是行關(guān)鍵字,列關(guān)鍵字和時(shí)間戳。每個(gè)值是一個(gè)不解釋的字符數(shù)組,數(shù)據(jù)都是字符串。用戶在表格中存儲(chǔ)數(shù)據(jù),每一行都有一個(gè)可排序的主鍵和任意多的列。由于是稀疏存儲(chǔ)的,所以同一張表的每一行數(shù)據(jù)都可以有截然不同的列。列名字的格式是”family:label” ,都是由字符串組成,每一張表有一個(gè) family 集合,這個(gè)集合是固定不變的,相當(dāng)于表的結(jié)構(gòu),只能通過(guò)改變表結(jié)構(gòu)來(lái)改變。但是 label 值相對(duì)于每一行來(lái)說(shuō)都是可以改變的。先看一下 Hbase 的邏輯模型: 表 Hbase 邏輯模型Row Key Timestamp Column “C1” Column”C2” Column”C3”Time3 “C1Content1” C2:L1 Content C3:N1 ContentTime2 “C1Content2” C2:L2 Content C3:N2 ContentTime1 “C1Content3” C2:L3 Content C3:N3 Content上表 共有一行,行標(biāo)識(shí)是 rowkey。每一次的邏輯修改都會(huì)有一個(gè)Timestamp 關(guān)聯(lián)對(duì)應(yīng)。一共有 4 個(gè)列定義,分別是C1:,C2:LI,C2:L2,C3:。所有數(shù)據(jù)庫(kù)的更新都有一個(gè)時(shí)間戳標(biāo)記,每個(gè)更新都是一個(gè)新的版本,而 Hbase 會(huì)保留一定數(shù)量的版本,這個(gè)值是可以設(shè)定的??蛻舳丝梢赃x擇獲取距離某個(gè)時(shí)間最近的版本,或者一次獲取所有版本。雖然從概念視圖來(lái)看每個(gè)表格是由很多行組成,但是在物理存儲(chǔ)上面,它是按照列來(lái)保存的,下面是物理數(shù)據(jù)模型:表 物理數(shù)據(jù)模型Row key Timestamp Column “C2”T6 “C2:L2” “L2content”“rk1”T5 “C2:L1” “L1content”物理數(shù)據(jù)模型實(shí)質(zhì)上是將邏輯模型中的一個(gè) Row 分割成為根據(jù) Column family 存儲(chǔ)。Hbase 把同一個(gè) family 里面的數(shù)據(jù)存儲(chǔ)在同一個(gè)目錄底下,而Hbase 的寫操作是鎖行的,每一行都是一個(gè)原子元素,都可以加鎖。從 Hbase 數(shù)據(jù)庫(kù)的物理模型可以看出,雖然在邏輯上是稀疏的數(shù)據(jù)格式,但是實(shí)際存儲(chǔ)的時(shí)候,邏輯表中值為 NULL 的元素是不存儲(chǔ)的,因此并沒(méi)有占任江蘇大學(xué)碩士研究生畢業(yè)論文24何空間。所以說(shuō) Hbase 是適合于處理稀疏數(shù)據(jù)的。 主表設(shè)計(jì) GB 連續(xù)運(yùn)行一個(gè)月,甚至一年,用普通的數(shù)據(jù)庫(kù)已經(jīng)無(wú)法滿足要求,我們系統(tǒng)采用的HBase 數(shù)據(jù)庫(kù),現(xiàn)在已經(jīng)可以支持 PB 級(jí)別的數(shù)據(jù),所以在數(shù)據(jù)查詢和存儲(chǔ)方面不會(huì)存在瓶頸。在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)之前,信息后,經(jīng)過(guò)頁(yè)面分析處理后:? 每條記錄的唯一 ID 號(hào).? URL 標(biāo)題? 與該網(wǎng)頁(yè)相關(guān)的關(guān)鍵字? 課件對(duì)應(yīng)的下載地址? 關(guān)鍵字出現(xiàn)的頻率? 頁(yè)面內(nèi)容得簡(jiǎn)要描述.獲取到內(nèi)容后,需要存儲(chǔ)? 課件的主題: 供用戶查詢的時(shí)候,簡(jiǎn)要瀏覽? 作者:課件上傳的作者? 出處:獲取作者的工作單位,如 Cisco System,或是某個(gè)學(xué)校,蘇州藍(lán)纓學(xué)校三年級(jí)語(yǔ)文組。? 日期:作品的日期,如 20220203。可以供查詢者選擇比較新的課件,或文檔。? 所屬類別:是計(jì)算機(jī),還是醫(yī)藥類的,還是管理類的,還是語(yǔ)文,數(shù)學(xué)等? 年級(jí): 這個(gè)對(duì)于在校學(xué)生查詢課件、文檔是非常有用的,有助于甄別課件是否符合自己? 科目:具體是語(yǔ)文、音樂(lè)、信息還是英語(yǔ)等,都是對(duì)內(nèi)容的一種歸類。 型數(shù)據(jù)中我們可以通過(guò)設(shè)計(jì)關(guān)系來(lái)實(shí)現(xiàn)課件、文檔的歸屬關(guān)系。但是對(duì)于海量數(shù)據(jù)來(lái)說(shuō),這樣的效率并不是很理想。在搭建好的 Hadoop 平臺(tái)上,通過(guò)Hbase 分布式數(shù)據(jù)庫(kù)管理數(shù)據(jù)證明了是高高效的。根據(jù)前面論述的 Hbase 的特江蘇大學(xué)碩士研究生畢業(yè)論文25點(diǎn),我們?cè)O(shè)計(jì)基于 Hbase 的數(shù)據(jù)結(jié)構(gòu):表 CC_HD_MAIN 表RowKey TimeStamp Column KeywordColumnRelated WordColumnFMessageColumnFInfo記錄ID:1時(shí)間戳20220201關(guān)鍵詞:高考關(guān)聯(lián)關(guān)鍵詞組:輔導(dǎo)班,試卷,填報(bào)志愿,分?jǐn)?shù)線Message:下載URL
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1