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

    熱點內容
    erp是什麼伺服器 瀏覽:182
    python中tmp 瀏覽:19
    說明wpf加密過程 瀏覽:142
    java讀取list 瀏覽:702
    iis7gzip壓縮 瀏覽:39
    有什麼安卓機打吃雞好 瀏覽:597
    三星u盤加密狗 瀏覽:473
    php函數的返回值嗎 瀏覽:586
    國企穩定程序員 瀏覽:328
    編程貓如何使用教程視頻 瀏覽:218
    安卓遠端網頁如何打日誌 瀏覽:218
    壓縮flash大小 瀏覽:993
    解壓的玩具教程可愛版 瀏覽:366
    哪個求職app比較靠譜 瀏覽:888
    java的讀法 瀏覽:60
    nod32區域網伺服器地址 瀏覽:1003
    數碼科技解壓 瀏覽:236
    新網的雲伺服器管理界面復雜嗎 瀏覽:367
    無人聲解壓強迫症視頻 瀏覽:573
    計算機編譯運行 瀏覽:640