0
我已經寫了一個InvertedIndex java程序,在給定一個單詞的情況下,它搜索字符串的某個靜態數組中的單詞,其中每個字符串都是一個url需要進行搜索。它最後返回的所有URL的李斯特,這個詞在發現重寫我的程序,使它適合map-reduce結構
這裏是我的相關代碼:
static final String[] URL_SEARCH_LIST = {
"http://www.cnn.com", "http://www.daniel.com", "http://www.amazon.com"
};
private static List<String> search (String query) {
try {
List<String> urlList = new ArrayList<String>();
for (String site : URL_SEARCH_LIST) {
URL url = new URL(site);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String htmlContent;
while ((htmlContent = br.readLine()) != null) {
if (htmlContent.contains(query)) {
urlList.add(site);
break;
}
}
}
System.out.println("Search for: " + query + " Is Done!");
return urlList;
} catch (Exception e) {
System.out.println(e.getMessage());
return null;
}
}
現在我想就在Amazon EMR此運行,這意味着我需要我的轉換程序到一個Map-Reduce程序,它執行相同的操作。
鑑於此代碼,有人可以幫我開始嗎?我沒有完全理解地圖的概念,並降低...提前
感謝
如何確定將有多少個地圖?是我的本地urlList是整個列表每次?你可以嘗試給我一個基於我的map-reduce代碼示例嗎? – DanielY
映射每個網址 - 基礎設施將負責所有的負載平衡。 –
請參閱[維基百科文章](http://en.wikipedia.org/wiki/MapReduce)中的字數統計示例 - 地圖功能會對每個字詞進行分割,並讓負載均衡器負責其餘部分。在你的情況下,本地'urlList'是字數計數例子'1'始終是值的值。 –