我在玩Hadoop並在Ubuntu上設置了兩個節點集羣。 WordCount示例運行得很好。查找與Hadoop/MapReduce的匹配行
現在,我想我自己寫的MapReduce程序來分析一些日誌數據(主要的原因:它看起來簡單,我有大量的數據)
日誌事呢這種格式每一行
<UUID> <Event> <Timestamp>
其中事件可以是INIT,START,STOP,ERROR等。我最感興趣的是相同UUID的START和STOP事件之間的時間間隔。
例如,我的日誌中包含這樣的
35FAA840-1299-11DF-8A39-0800200C9A66 START 1265403584
[...many other lines...]
35FAA840-1299-11DF-8A39-0800200C9A66 STOP 1265403777
我目前,線性規劃,通過文件讀取,記得開始的事件中,存儲記錄,一旦發現寫經過的時間到一個文件相應的結束事件(當前忽略其他事件的行,ERROR事件使UUID無效,並且它也將被忽略)
我想將其移植到Hadoop/MapReduce程序。但我不知道如何做匹配的條目。分割/標記文件很容易,我猜想找到匹配項將是一個Reduce-Class。但是,這將如何? 如何在MapReduce作業中找到mathing條目?
請記住,我的主要重點是瞭解Hadopo/MapReduce;歡迎使用Pig和其他Apache程序的鏈接,但我想用純Hadoop/MapReduce來解決這個問題。謝謝。
1)由於日誌從運行的應用程序採取一些啓動事件可能還沒有相應的結束事件會有最終事件,而startevents,由於日誌文分裂
當然,這是有道理的。我沒有找到匹配,而是通過密鑰進行分組。這也可以讓我分析未來的其他事件。謝謝 – phisch