版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十章MapReduce和GridFS單擊此處添加副標(biāo)題演講者:MapReduce01文件存儲02項目實踐03目錄01MapReduceMapReduceMongoDB的MapReuce的核心思想是“分而治之”。所謂"分面治之”就是把一個復(fù)雜的問題,按照一定的“分解”方法分為等價的規(guī)模較小的若干部分,然后逐個解決,分別找出各部分的結(jié)果,把各部分的結(jié)果組成整個問題的結(jié)果。這種思想來源于日常生活與工作時的經(jīng)驗,同樣也完全適合技術(shù)領(lǐng)域。在MongoDB中,MapReduce功能基于JavaScript實現(xiàn),允許用戶自定義Map和Reduce函數(shù),對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行分布式計算。Map階段將輸入數(shù)據(jù)切分成若干份,每份由一個Mapper處理,輸出中間結(jié)果;Reduce階段則負(fù)責(zé)對中間結(jié)果進(jìn)行聚合處理,輸出最終結(jié)果。MapReduce格式定義db.collection.mapReduce(
function(){emit(key,value);},//map函數(shù)
function(key,values){returnreduceFunction},//reduce函數(shù)
{
out:collection,
query:document,
sort:document,
limit:number
})MapReduce格式定義其中各個參數(shù)說明如下:mapReduce:要操作的目標(biāo)集合。map函數(shù):映射函數(shù)(生成鍵值對序列,作為reduce函數(shù)參數(shù))。reduce函數(shù):統(tǒng)計函數(shù)。query:目標(biāo)記錄過濾。sort:目標(biāo)記錄排序。limit:限制目標(biāo)記錄數(shù)量。out:統(tǒng)計結(jié)果存放集合(不指定則使用臨時集合,在客戶端斷開后自動刪除)。keeptemp:是否保留臨時集合。finalize:最終處理函數(shù)(對reduce返回結(jié)果進(jìn)行最終整理后存入結(jié)果集合)。scope:向map、reduce、finalize導(dǎo)入外部變量。verbose:顯示詳細(xì)的時間統(tǒng)計信息。02文件存儲存儲查找路徑優(yōu)點:節(jié)省數(shù)據(jù)庫的存儲空間。將文件放在本地路徑(網(wǎng)絡(luò)路徑)下,然后數(shù)據(jù)庫中存儲該文件的查找路徑,這種存儲方式有以下特點。缺點:當(dāng)數(shù)據(jù)或者文件位置發(fā)生變化時文件及丟失。存儲01存儲文件本身03優(yōu)點:數(shù)據(jù)庫和文件綁定,數(shù)據(jù)庫在文件即在。02數(shù)據(jù)庫支持二進(jìn)制格式,將文件轉(zhuǎn)化為二進(jìn)制,將文件本身存入數(shù)據(jù)庫中,這樣的存儲方式有以下特點。04缺點:占用數(shù)據(jù)庫空間大,存儲效率低。存儲GridFS的存儲原理GridFS使用chunks集合來存儲文件的數(shù)據(jù)塊,每個塊默認(rèn)大小為256KB。files集合則用于存儲文件的元數(shù)據(jù),包括文件名、文件大小、上傳時間等信息。通過這兩個集合,GridFS能夠高效地存儲和檢索大文件。。GridFS的優(yōu)點在于它能夠?qū)⒋笪募鎯Φ組ongoDB中,并利用MongoDB的分布式特性進(jìn)行高效的存儲和檢索。同時,由于GridFS使用MongoDB的文檔模型,因此可以方便地對文件進(jìn)行查詢和管理。GridFSGridFSfiles和chunksfiles集合包含元數(shù)據(jù)對象(如文件的名稱、上傳的時間等),chunks集合包含其他一些相關(guān)信息的二進(jìn)制塊,組成如圖所示。03項目實踐:上傳下載pdf文件上傳素材中l(wèi)ogo.pdf文件到pdf_gridfs數(shù)據(jù)庫中。查看上傳的文件下載logo.pdf文件到本地010203要求MapReduce實現(xiàn)原理1GridFS存儲文件2小結(jié)練習(xí)使用MapReduce統(tǒng)計出每個學(xué)生level為A的成績的總和。準(zhǔn)備數(shù)據(jù):students>usestuswitchedtodbstustu>db.students.insertOne({name:"張三",course:"英語",score:70,level:"C"})stu>db.students.insertOne({name:"張三",course:"數(shù)學(xué)",score:95,level:"A"})stu>db.students.insertOne({name:"張三",course:"語文",score:91,level:"A"})stu>db.students.insertOne({name:"張三",course:"歷史",score:98,level:"A"})stu>db.students.insertOne({name:"李四",course:"數(shù)學(xué)",score:88,level:"B"})stu>db.students.insertOne({name:"李四",
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安順市消防救援支隊2026年面向社會公開招聘政府專職消防員的備考題庫(第一批)完整答案詳解
- 公共交通車輛安全技術(shù)檢測制度
- 2026年派駐天津市對外服務(wù)有限公司人力資源管理崗位(北方人力外包項目)招聘備考題庫及答案詳解一套
- 2026年鹽城市大豐區(qū)司法局公開招聘勞務(wù)派遣人員備考題庫完整參考答案詳解
- 2026年江達(dá)縣城市管理局公開招聘輔助執(zhí)法人員的備考題庫及一套答案詳解
- 企業(yè)員工晉升與發(fā)展制度
- 2026年正定產(chǎn)業(yè)投資控股集團(tuán)有限公司面向社會招聘職業(yè)經(jīng)理人的備考題庫含答案詳解
- 2026年楊寶軍研究組招聘備考題庫及參考答案詳解一套
- 養(yǎng)老院老人興趣小組活動制度
- 企業(yè)員工培訓(xùn)與素質(zhì)提升目標(biāo)制度
- 山東省煙臺市芝罘區(qū)2024-2025學(xué)年三年級上學(xué)期期末數(shù)學(xué)試題
- GB/T 6074-2025板式鏈、連接環(huán)和槽輪尺寸、測量力、抗拉載荷和動載載荷
- 護(hù)理員職業(yè)道德與法律法規(guī)
- 2025年度麻醉科主任述職報告
- 2025年安徽省普通高中學(xué)業(yè)水平合格性考試化學(xué)試卷(含答案)
- 2025年寧波市公共交通集團(tuán)有限公司下屬分子公司招聘備考題庫及答案詳解參考
- 別墅澆筑施工方案(3篇)
- 小學(xué)信息技術(shù)教學(xué)備課全流程解析
- 2026年關(guān)于汽車銷售工作計劃書
- 腫瘤放射治療的新技術(shù)進(jìn)展
- 退崗修養(yǎng)協(xié)議書范本
評論
0/150
提交評論