(1)第一次三個文字樣式做測試:
檔案內容:
分別為a.txt,b.txt,c.txt 裡面的資料:
(2)第一次預期輸出結果樣式:
inverted a.txt 3
inverted b.txt 1
inverted c.txt 3
mapreduce a.txt 2
mapreduce b.txt 2
mapreduce c.txt 3
hadoop a.txt 1
hadoop b.txt 1
hadoop c.txt 2
hdfs a.txt 1
hdfs b.txt 1
hdfs c.txt 2
index a.txt 4
index b.txt 1
index c.txt 3
map a.txt 1
map b.txt 1
map c.txt 1
reduce a.txt 1
reduce b.txt 1
reduce c.txt 1
倒排索引 a.txt 1
倒排索引 b.txt 1
倒排索引 c.txt 1
大資料 a.txt 1
大資料 b.txt 1
大資料 c.txt 1
1.獲取檔案物件------》2.然後獲取問價的名字-------》
/**
* 第一次預期輸出結果
* itstar--a.txt 3
* itstar--b.txt 2
* itstar--c.txt 2
* pingping--a.txt 1
* pingping--b.txt 3
* pingping--c.txt 1
* ss--a.txt 2
* ss--b.txt 1
* ss--c.txt 1
*/string name;
text t = new text();
intwritable v = new intwritable();
@override
protected void setup(context context) throws ioexception, interruptedexception
@override
protected void map(longwritable key, text value, context context) throws ioexception, interruptedexception }}
reducer業務邏輯:
1.定義乙個計數器---------》2.迭代器進行統計單詞出現的次數---------》3.然後進行輸出
/**
* reduce
* 將每個檔案中的單詞進行統計
*/class indexreducedrive extends reducer
context.write(key, new intwritable(count));
}
1.獲取配置檔案------》2.定義乙個主類job-------》3.配置主類資訊,map類,reduce類-------》4.map類的輸入和輸出
-----------》5.reducer的類----------》6.判斷檔案是否存在-------》7.設定檔案的輸入路徑--------》8.設定檔案的輸出路徑
--------》9.最後來判斷程序是否執行完
//判斷輸出路徑是否存在
path path = new path(args[1]);
filesystem fs = filesystem.get(conf);
if (fs.exists(path)) ;
//獲取問價配置資訊
configuration conf = new configuration();
//獲取主類job
job job1 = job.getinstance(conf);
//配置主類class
job1.setjarbyclass(indexdriveone.class);
//設定map類的資訊
job1.setmapoutputkeyclass(text.class);
job1.setmapoutputvalueclass(intwritable.class);
//設定reducer類的資訊
job1.setreducerclass(indexreducedrive.class);
job1.setoutputkeyclass(text.class);
job1.setoutputvalueclass(intwritable.class);
//判斷輸出路徑是否存在
path path = new path(args[1]);
filesystem fs = filesystem.get(conf);
if (fs.exists(path))
//設定輸入路徑
fileinputformat.setinputpaths(job1, new path(args[0]));
//設定輸出路徑
fileoutputformat.setoutputpath(job1, path);
system.exit(job1.waitforcompletion(true) ? 0 : 1);}}
執行結果成功:
——保持飢餓,保持學習
jackson_mvp
倒排索引 一
畢業以後在網頁搜尋組,所以抽空就看看了 這就是搜尋引擎 核心技術詳解 書比較白話文,對於我這樣的入門小白再合適不過了,還有一本 資訊檢索導論 比較系統和專業化,感興趣的可以買來看看。海量的網頁資料,如何快速的找到包含使用者查詢的所有網頁至關重要,如同我們拿到一本很厚的書時,如果沒有目錄,我們可能要花...
索引介紹一 倒排索引
倒排索引 英語 inverted index 也常被稱為反向索引 置入檔案或反向檔案,是一種索引方法,被用來儲存在全文搜尋下某個單詞在乙個文件或者一組文件中的儲存位置的對映。它是文件檢索系統中最常用的資料結構。有兩種不同的反向索引形式 以英文為例,下面是要被索引的文字 我們就能得到下面的反向檔案索引...
倒排索引 和 倒排表
為什麼我們要說倒排索引呢?因為倒排索引是目前 搜尋引擎公司最對搜尋引擎最常用的儲存方式.也是搜尋引擎的核心內容 在搜尋引擎實際的引用之中,有時需要按照關鍵字的某些值查詢記錄,所以我們是按照關鍵字建立索引,這個索引我們就稱之為 倒排索引,而帶有倒排索引的檔案我們又稱作 倒排索引檔案也可以叫它為 倒排檔...