中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

泰州做直銷會員結(jié)算管理網(wǎng)站公司網(wǎng)站如何推廣

泰州做直銷會員結(jié)算管理網(wǎng)站,公司網(wǎng)站如何推廣,微信公眾號平臺電話,做網(wǎng)站必須開廠嗎一、引入:詞頻統(tǒng)計問題 假如我們有一億份文檔,需要統(tǒng)計這一億份文檔的詞頻。我們會怎么做,有以下思路 使用單臺PC執(zhí)行:能不能存的下不說,串行計算,一份一份文檔讀,然后進行詞頻統(tǒng)計&#xff0…

一、引入:詞頻統(tǒng)計問題

假如我們有一億份文檔,需要統(tǒng)計這一億份文檔的詞頻。我們會怎么做,有以下思路

  • 使用單臺PC執(zhí)行:能不能存的下不說,串行計算,一份一份文檔讀,然后進行詞頻統(tǒng)計,需要運行很長時間
  • 多臺PC:把文檔分布到多臺PC上處理,每個PC處理一部分文件,最后合并?!犉饋砗芎唵?#xff0c;但是實際實現(xiàn)的話還是有很多問題的。

對于第二種方法,有以下幾種方法,我們來分別分析一下:

在這里插入圖片描述

可以看到,我們把數(shù)據(jù)分布到多臺主機上,然后讓每臺主機并行掃描文檔,將讀取到的單詞發(fā)送給一臺中央主機,由中央主機統(tǒng)一進行詞頻統(tǒng)計。

這樣有哪些問題:

  • 小粒度通信->網(wǎng)絡(luò)通信瓶頸:所有子PC分別將一個個單詞(超級無敵多)通過網(wǎng)絡(luò)同時發(fā)送 給一臺中央主機, 必定造成網(wǎng)絡(luò)IO通信堵塞
  • 中央主機的負載過重: 雖然數(shù)據(jù)分布到了多臺子PC上進行掃描讀取處理,的確和之前的單臺PC相比(一個一個文檔依次往后讀)能節(jié)約時間,但是處理時間其實還是差不多的。
  • 缺乏容錯機制: 在這種單中央主機的設(shè)計思想下,一旦子PC中有一臺出錯,必定導(dǎo)致整個結(jié)果錯誤。
  • 數(shù)據(jù)一致性和同步問題: 你想一想,像上圖,多個子PC同時對比如dog這個單詞進行寫入,這是一個并發(fā)操作,必須要加鎖保證數(shù)據(jù)一致性。
  • 擴展性問題: 隨著數(shù)據(jù)量的增加,中央主機處理的數(shù)據(jù)量和計算負載也會線性增長,最終可能超過中央主機的處理能力。擴展系統(tǒng)可能需要更換更強大的中央主機,這不僅成本高昂,而且存在物理限制。

OK,我們先別一下子跳到MapReduce,看看基于上面這個方法我們還能怎么改進:

在這里插入圖片描述
其實說實話這個基本上沒啥改善,就是改了一下單臺PC自己在發(fā)送詞頻之前先做了個預(yù)處理統(tǒng)計,這樣能夠稍微漸緩一下網(wǎng)絡(luò)IO,但是其實還是沒啥用。

那么還有什么其他可以改善的地方的嗎?在這里插入圖片描述
沒錯,上面不是說主機壓力太大了嗎?那么我們現(xiàn)在一個主機就處理一個單詞,這樣OK了把?其實還是有問題的,或者說帶來了新的問題:

  • 網(wǎng)絡(luò)通信問題:這樣一個個單詞發(fā),或者統(tǒng)計好了(也就是先做計算嘛)(其實很多時候不能先做計算,比如算整體學(xué)生的最大成績差)再發(fā),還是通信粒度太小了
  • 負載不均衡:一些常見的單詞(如“the”、“is”等)可能會導(dǎo)致某些主機負載過重,而其他主機負載輕松。
  • 擴展性問題: 你看,我現(xiàn)在統(tǒng)計單詞,那我統(tǒng)計漢字呢?計算主機的數(shù)量是不是需要改變??可擴展性還是很差的

其實在實現(xiàn)上還有很多細節(jié)問題:

  • 數(shù)據(jù)怎么分呢?人工?手動分割數(shù)據(jù)并分配給多臺機器處理,這個過程不僅繁瑣而且難以管理和擴展。
  • 開發(fā)者需要手動管理數(shù)據(jù)的分發(fā)、任務(wù)的執(zhí)行、結(jié)果的匯總以及故障的處理等,這不僅增加了編程的復(fù)雜性,也增加了出錯的幾率。
  • 處理分布式數(shù)據(jù)需要開發(fā)者對分布式系統(tǒng)的底層細節(jié)有深入的了解,如數(shù)據(jù)分布、通信機制、容錯機制等

下面我們來看看MapReduce的思想,看看它是如何解決了這些問題,在這之中也可以看到:數(shù)據(jù)結(jié)構(gòu)、算法、數(shù)學(xué)等知識的融合。

二、MapReduce介紹

2.1:設(shè)計思想

MapReduce的算法核心思想是: 分治

學(xué)過算法的同學(xué)應(yīng)該會學(xué)到分治算法,所謂分治,就是把原問題分解為規(guī)模更小的問題,進行處理,最后將這些子問題的結(jié)果合并,就可以得到原問題的解。MapReduce這種分布式計算框架的核心就是:分治。

在這里插入圖片描述

上圖是MapReduce的處理流程圖,可以看到,MapReduce的整個過程主要分為:

  1. Map:

    • 輸入:來自存儲在hdfs上的文件block進行分塊(split)后,并且進行讀取數(shù)據(jù)處理的分塊數(shù)據(jù)的鍵值對(key-value)形式?!?輸入數(shù)據(jù)被分成一系列的數(shù)據(jù)塊,被稱為“input splits”。MapReduce框架盡量保持每個split的大小相同,這樣每個Map任務(wù)處理的數(shù)據(jù)量就大致相等。這是負載均衡的第一步。
    • 輸出:進行掃描后的(單詞,詞頻)的鍵值對形式
    • 分析:Map任務(wù)通常在存儲相應(yīng)數(shù)據(jù)分片的節(jié)點上執(zhí)行,這樣可以減少網(wǎng)絡(luò)傳輸。如果某些節(jié)點因為硬件性能好或者當前負載輕而完成任務(wù)更快,MapReduce可以把新的Map任務(wù)分配給這些節(jié)點,從而提高資源的利用率。MapReduce框架會自動管理數(shù)據(jù)的分片和分發(fā),無需用戶手動干預(yù),從而提高數(shù)據(jù)分發(fā)效率。
  2. Shuffle與Sort階段

    • 處理完數(shù)據(jù)后,Map任務(wù)的輸出會進入Shuffle階段。在這個階段,框架負責將所有Map任務(wù)輸出的鍵值對根據(jù)鍵進行排序和分組(還有combine,根據(jù)項目需要可選,減少網(wǎng)絡(luò)io)。只有排序和分組后的數(shù)據(jù)會被發(fā)送到Reduce任務(wù),這減少了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而緩解網(wǎng)絡(luò)通信瓶頸,同時,由于shuffle階段對所有的Map任務(wù)進行了排序和分組,也就是說,一組數(shù)據(jù)只分發(fā)給一個reduce,這樣也不會來自多個map對同一個reduce同時寫入的并發(fā),即消除了并發(fā)風(fēng)險,保證了數(shù)據(jù)一致性
  3. Reduce任務(wù)的智能分配

    • Reduce任務(wù)是根據(jù)Map階段的輸出鍵值對自動分配(默認是哈希,可以手寫更優(yōu)的分配算法)的。MapReduce嘗試均勻地分配負載,確保每個Reduce任務(wù)處理相似數(shù)量的鍵值對。如果某個Reduce任務(wù)處理得更快,它可以接受更多的數(shù)據(jù),從而實現(xiàn)動態(tài)的負載均衡

從上面這個處理流程可以看出,MapReduce還有很多其他優(yōu)點:

  • 容錯機制(解決容錯和恢復(fù)機制問題)
    MapReduce具備強大的容錯機制。如果一個Map或Reduce任務(wù)失敗,框架會自動在另一個節(jié)點上重新調(diào)度這個任務(wù)。此外,中間數(shù)據(jù)會被寫入磁盤,這允許在節(jié)點故障后從最后一個檢查點恢復(fù),而不是從頭開始。
  • 水平擴展(解決擴展性問題)
    MapReduce支持水平擴展。當數(shù)據(jù)量增加時,可以簡單地增加更多的節(jié)點到集群中。MapReduce框架會自動利用這些新節(jié)點,無需對現(xiàn)有的應(yīng)用程序做任何修改,這使得擴展性得到了極大的提高。

2.2:設(shè)計理念:移動計算而非移動數(shù)據(jù)

其實在開篇講到的三種分布式計算統(tǒng)計詞頻的方法中,它們的想法核心都是移動數(shù)據(jù),把數(shù)據(jù)移動到中央主機進行計算,這樣帶來很明顯的問題:網(wǎng)絡(luò)IO,帶寬。

而MapReduce, 它將計算任務(wù)(Map和Reduce操作)分布到存儲實際數(shù)據(jù)的節(jié)點上,這樣就可以在數(shù)據(jù)存儲的地方直接進行計算。這種方法減少了大量數(shù)據(jù)在網(wǎng)絡(luò)中的移動,因為只有中間結(jié)果和最終結(jié)果需要在節(jié)點之間傳輸,這些比原始數(shù)據(jù)小得多。

這種做法不僅提高了網(wǎng)絡(luò)傳輸?shù)男?/strong>,也增強了系統(tǒng)的容錯性。因為MapReduce框架會將Map任務(wù)的輸出寫入磁盤(中間結(jié)果),在發(fā)生故障時,可以從這些已經(jīng)寫入磁盤的中間結(jié)果恢復(fù),而不需要從頭開始處理數(shù)據(jù)。這意味著即使在節(jié)點失敗的情況下,作業(yè)的執(zhí)行仍然可以繼續(xù),從而保證了計算的連續(xù)性和完整性。

總結(jié)來說,MapReduce通過**“移動計算而非移動數(shù)據(jù)”**的設(shè)計理念,有效地解決了傳統(tǒng)分布式計算方法中的網(wǎng)絡(luò)效率和容錯性問題。

http://m.risenshineclean.com/news/64584.html

相關(guān)文章:

  • wordpress 主題庫安徽seo人員
  • ??诰W(wǎng)站建設(shè)公司哪家好抖音seo優(yōu)化
  • 圖書館網(wǎng)站建設(shè)情況說明網(wǎng)站排名優(yōu)化多少錢
  • 做網(wǎng)站避免上當文案短句干凈治愈
  • 手機網(wǎng)站注冊頁面百度一下你就知道移動首頁
  • 阿里云輕云服務(wù)器可以放多個網(wǎng)站啊怎么做做網(wǎng)站需要準備什么
  • dreamweaver最新版本引擎優(yōu)化是什么意思
  • 響應(yīng)式建站工具58同城發(fā)布免費廣告
  • 公司名logo設(shè)計圖片seow是什么意思
  • 設(shè)計公司給公司做網(wǎng)站用了方正字體app開發(fā)教程
  • 網(wǎng)站做app的軟件叫什么seo快速優(yōu)化排名
  • 個人網(wǎng)站系統(tǒng)優(yōu)秀網(wǎng)站網(wǎng)頁設(shè)計圖片
  • 代辦公司營業(yè)執(zhí)照長沙seo推廣公司
  • 平度網(wǎng)站建設(shè)網(wǎng)絡(luò)優(yōu)化工程師簡歷
  • 網(wǎng)站建設(shè)入門教程視頻抖音代運營公司
  • 站酷網(wǎng)站的圖是用什么做的百度指數(shù)app下載
  • 做機械的網(wǎng)站有哪些軟文營銷實施背景
  • 海外營銷網(wǎng)站設(shè)計英文seo實戰(zhàn)派
  • 網(wǎng)頁設(shè)計推薦網(wǎng)站百度推廣咨詢
  • 自己買域名可以做網(wǎng)站嗎百度如何做推廣
  • 和碩網(wǎng)站建設(shè)騰訊廣告投放平臺官網(wǎng)
  • php無版權(quán)企業(yè)網(wǎng)站管理系統(tǒng)優(yōu)化軟件下載
  • 淮安神舟建設(shè)招標網(wǎng)站電商平臺怎么做
  • 外匯網(wǎng)站模版網(wǎng)絡(luò)流量分析工具
  • 做任務(wù)賺錢的網(wǎng)站起什么名字好網(wǎng)站建設(shè)百度推廣
  • 網(wǎng)站開發(fā) 上海查排名的軟件有哪些
  • app制作平臺要多少錢seo網(wǎng)站優(yōu)化培訓(xùn)班
  • 網(wǎng)站怎么做移動圖片百度一下網(wǎng)頁
  • 企業(yè)網(wǎng)站建設(shè)基本流程危機公關(guān)處理方案
  • 現(xiàn)在最流行的網(wǎng)站推廣方式有哪些搜索引擎優(yōu)化的簡稱是