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

    熱點內容
    英語分類單詞pdf 瀏覽:184
    打開微信時提醒微信已加密 瀏覽:346
    svm演算法的論文好寫嗎 瀏覽:838
    數學大辭典pdf 瀏覽:179
    屏幕上滑兩次退出app怎麼取消 瀏覽:802
    聯想伺服器如何開機 瀏覽:437
    進入cmd後都有哪些命令 瀏覽:813
    pythonmysql資料庫連接池 瀏覽:376
    真三國無雙命令 瀏覽:664
    警察故事在哪個app可以看 瀏覽:975
    單片機8155 瀏覽:399
    php音樂播放器代碼 瀏覽:753
    java獲取資源文件 瀏覽:447
    聯想筆記本怎麼設置私密文件夾 瀏覽:920
    phpsql參數化 瀏覽:674
    androiduserhandle 瀏覽:665
    嬌軀命令小說 瀏覽:180
    編譯android10源代碼 瀏覽:568
    解壓促進睡眠音樂 瀏覽:460
    分時六彩神龍指標源碼 瀏覽:222