MapReduce練習之倒排索引

2021-08-20 12:35:53 字數 1326 閱讀 8743

實現統計多個文件中乙個單詞出現的頻數和出現在哪個文件中

在map中讀取當前文件的每一行資料,得到當前文件路徑

mapkey(單詞:文件路徑),mapvalue(數值1)

在map端設定combiner類(整合資料,減少向reduce端傳輸資料的網路開銷)

將map的輸出重新組合輸出《單詞,文件路徑:單詞頻數》

輸入檔案為三篇txt英文文件

輸出檔案格式為 單詞 文件1:頻數 文件2:頻數….

computation a2.txt:1

computers a1.txt:1 a3.txt:1

data a1.txt:1

deliver a2.txt:1

public static void main(string args) throws ioexception, classnotfoundexception, interruptedexception 

//輸入路徑和輸出路徑的設定

fileinputformat.addinputpath(job, new path("d:\\mr\\input\\resort"));

fileoutputformat.setoutputpath(job,outpath);

system.exit(job.waitforcompletion(true)?0:1);

}

static

class

remaper

extends }

}

static

class

mycom

extends

reducer

"key:"+key.tostring()+",sum:"+sum);

ckey.set(lines[0]);

cvalue.set(lines[1]+":"+sum);

//combiner輸出key為單詞

//combiner輸出value為文件路徑:頻數

context.write(ckey,cvalue);

}}

static

class

rereduceer

extends

reducer

rvalue.set(buf.tostring());

//reduce輸出key為單詞

//reduce輸出value為文件1路徑:頻數 文件2路徑:頻數...

context.write(key,rvalue);

}}

mapreduce在倒排索引中練習

倒排索引是檔案檢索系統中常用的資料結構,被廣泛應用於全文章搜尋引擎。通常情況下,倒排索引由乙個單詞或片語以及相關的文件列表組成,文件列表中的文件或者是標識文件的id 號,或者是指定文件所在位置的 uri 在實際應用中,往往還需要給每個文件加乙個權值,用來指出每個文件與搜尋內容的相關度 我的例子中,文...

MapReduce倒排索引簡單實現

倒排索引 倒排索引是文件檢索系統中最常用的資料結構,被廣泛的應用於全文搜尋引擎。它主要用來儲存某個單詞 或片語 在乙個文件或一組文件中的儲存位置的對映,即提供了一種根據內容來查詢文件的方式,由於不是根據文件來確定文件所包含的內容,而是進行了相反的操作,因而被稱為倒排索引。例如 input 輸入有三個...

倒排索引和MapReduce簡介

1.前言 學習hadoop的童鞋,倒排索引這個演算法還是挺重要的。這是以後展開工作的基礎。首先,我們來認識下什麼是倒排索引 2.mapreduce框架簡介 2.1inputformat類 inputformat類的作用是什麼呢?其實就是把輸入的資料 就是你上傳到hdfs的檔案 切分成乙個個的spli...