導航:首頁 > 編程語言 > 統計詞頻java

統計詞頻java

發布時間:2024-07-17 02:01:29

『壹』 簡述Hadoop的MapRece與Googl的MapRecc 之間的關系

江湖傳說永流傳:谷歌技術有"三寶",GFS、MapRece和大表(BigTable)!

谷歌在03到06年間連續發表了三篇很有影響力的文章,分別是03年SOSP的GFS,04年OSDI的MapRece,和06年OSDI的BigTable。SOSP和OSDI都是操作系統領域的頂級會議,在計算機學會推薦會議里屬於A類。SOSP在單數年舉辦,而OSDI在雙數年舉辦。

那麼這篇博客就來介紹一下MapRece。

1. MapRece是幹啥的

因為沒找到谷歌的示意圖,所以我想借用一張Hadoop項目的結構圖來說明下MapRece所處的位置,如下圖。


這幅圖描述了MapRece如何處理詞頻統計。由於map worker數量不夠,首先處理了分片1、3、4,並產生中間鍵值對;當所有中間值都准備好了,Rece作業就開始讀取對應分區,並輸出統計結果。

6. 用戶的權利

用戶最主要的任務是實現map和rece介面,但還有一些有用的介面是向用戶開放的。

  • an input reader。這個函數會將輸入分為M個部分,並且定義了如何從數據中抽取最初的鍵值對,比如詞頻的例子中定義文件名和文件內容是鍵值對。

  • a partition function。這個函數用於將map函數產生的中間鍵值對映射到一個分區里去,最簡單的實現就是將鍵求哈希再對R取模。

  • a compare function。這個函數用於Rece作業排序,這個函數定義了鍵的大小關系。

  • an output writer。負責將結果寫入底層分布式文件系統。

  • a combiner function。實際就是rece函數,這是用於前面提到的優化的,比如統計詞頻時,如果每個<w, "1">要讀一次,因為rece和map通常不在一台機器,非常浪費時間,所以可以在map執行的地方先運行一次combiner,這樣rece只需要讀一次<w, "n">了。

  • map和rece函數就不多說了。

  • 7. MapRece的實現

    目前MapRece已經有多種實現,除了谷歌自己的實現外,還有著名的hadoop,區別是谷歌是c++,而hadoop是用java。另外斯坦福大學實現了一個在多核/多處理器、共享內存環境內運行的MapRece,稱為Phoenix(介紹),相關的論文發表在07年的HPCA,是當年的最佳論文哦!

    閱讀全文

    與統計詞頻java相關的資料

    熱點內容
    虛擬伺服器如何查路由器埠 瀏覽:236
    ipad怎麼增加app拓展塢 瀏覽:254
    安卓軟體開發公司如何選擇 瀏覽:664
    大型解壓器怎麼做 瀏覽:173
    如何保存網頁成PDF 瀏覽:488
    linux怎麼編譯內核 瀏覽:432
    solidworks入門pdf 瀏覽:819
    中國工商銀行app如何看支行 瀏覽:433
    wps弄照片到文件夾 瀏覽:463
    大眾如何在線編程 瀏覽:787
    ipad如何關閉app中的app 瀏覽:442
    大腦認知pdf 瀏覽:441
    程序員大方 瀏覽:794
    怎樣加密微信聊天記錄簡單點 瀏覽:387
    python數據類型狀態判斷 瀏覽:47
    java文件打開對話框 瀏覽:824
    pdf怎麼打勾 瀏覽:21
    java資料庫insert 瀏覽:668
    金山雲新用戶伺服器 瀏覽:719
    量品量體師app下載後如何注冊 瀏覽:911