我想了解,如果MapReduce可能是我有一個特定問題的好工具。我需要搜索數百個日誌文件,從幾個特定的IP地址中查找特定的匹配記錄,並記錄時間,IP地址和URL路徑。可以使用MapReduce來過濾日誌文件或除計算單個指標之外的其他內容嗎?
我所見過的與日誌分析相關的MapReduce的所有例子似乎都在統計單個指標,比如每小時點擊次數。這似乎是一個過於簡化的例子,總是發出1的IntWritable。
在我的情況下,我並不真正計算任何東西 - 它更像是一個過濾器。地圖如何減少步驟輸出我正在搜索的特定地址的時間戳,IP地址和URL路徑?
我也可能想做一些分析來計算幾個不同的指標,而不是單個「每小時點擊次數」。爲了統計多個不同的度量標準,通常是通過多個作業來完成,還是一個作業可以統計多個度量標準?
感謝您的建議!
我的問題是真的特定於Map Reduce。我會很好地使用Hadoop Streaming或Amazon EMR。我並不是很擔心設置和運行Hadoop集羣。這是我需要搜索大量日誌數據的一次性問題。 – Jeff 2014-08-28 19:06:41
然後你可以試試看。如果你已經有一個二進制文件或腳本來完成過濾,那麼我只會使用[Hadoop streaming](http://wiki.apache.org/hadoop/HadoopStreaming),因爲它可以在[EMR]上找到(http:// docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UseCase_Streaming.html)並將腳本指定爲映射器。 – 2014-08-28 19:26:35
儘管我也相信我必須提供一個簡化腳本。它只是一個空白的腳本,或者它只是迴應輸入輸出? – Jeff 2014-08-29 15:10:34