我有要求使用map reduce一個接一個地解析Apache訪問日誌和tomcat日誌。很少的字段正在從tomcat日誌中提取,並從Apache日誌中提取。我需要根據時間戳合併/映射提取的字段,並將這些映射字段導出到傳統的關係數據庫(例如MySQL)中。將分析後的日誌數據存儲在hadoop中並將其導出到關係數據庫中
我可以使用正則表達式或豬解析和提取信息。我面臨的挑戰是如何將提取的信息從兩個日誌映射到單個聚合格式或文件以及如何將這些數據導出到MYSQL。
幾種方法我想到的
1)收件地圖的輸出從兩個解析Apache訪問日誌和Tomcat日誌減少到單獨的文件,併合並這些到一個文件中(同樣基於時間戳)。將這些數據導出到MySQL。
2)使用HBase的或配置單元以表的格式的數據存儲在Hadoop和導出到MySQL
3)直接寫圖的輸出用JDBC減少到MySQL。
哪種方法最可行,還請建議您知道的其他解決方案。
謝謝埃裏克 我正在使用基於文件的方法在數據庫中合併數據的輕微更改,而不是在mapreduce中執行它。來自兩個日誌的解析數據將被存儲到兩個單獨的登臺表中,並將這些登臺表連接起來以獲取最終的彙總數據,這些數據將存儲在決賽桌中。 對於將這麼多數據放入數據庫是否合理的問題,解析後的數據將被彙總爲與日誌文件記錄相比非常少的過濾的有用數據。將數據存儲到關係數據庫中的原因是允許傳統應用程序訪問該數據 – 2010-07-11 03:33:21