導航:首頁 > 編程語言 > 統計詞頻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相關的資料

    熱點內容
    指數函數和對數函數的高精度快速演算法 瀏覽:205
    c預編譯干什麼 瀏覽:22
    hp網路共享文件夾 瀏覽:363
    程序員如何不被廢 瀏覽:803
    二進制流轉pdf 瀏覽:915
    php判斷爬蟲 瀏覽:571
    960除24除4簡便演算法 瀏覽:786
    關於解壓英語翻譯 瀏覽:565
    python控制鍵盤右鍵 瀏覽:920
    php沒有libmysqldll 瀏覽:828
    時政新聞app哪個好 瀏覽:906
    手機已加密怎麼辦 瀏覽:201
    安卓手機截屏怎麼傳到蘋果 瀏覽:527
    京管家app哪裡下載 瀏覽:33
    文件夾橫向排列的豎向排列 瀏覽:453
    51單片機驅動攝像頭模塊 瀏覽:689
    政府文件加密沒法轉換 瀏覽:373
    android判斷棧頂 瀏覽:331
    憑證軟體源碼 瀏覽:860
    androidwebview滾動事件 瀏覽:11