大日誌處理問題

 問題描述:有幾個壓縮好的大日誌文件,壓縮後,2,3G,解壓後估計有5,6G數據庫

須要將這些日誌解析出來,存儲到分佈樹數據庫中去。看了下線上的機器,雖然日誌

每一個機器的絕對內存均可以將這些數據讀入進去,可是正常可用內存卻只有幾個G內存

並且還要被其餘程序佔用,解析代碼用JAVA來寫,運行JAVA代碼的時候能夠指定it

使用的內存XMS,XMX。程序

解決方法: 因爲日誌信息容許有必定的丟失,因此能夠採用將文件切割的辦法,方法

將大文件切割爲一個個的小文件,而後JAVA代碼在將這些小文件讀進去處理。這樣數據

以來運行時佔用的內存就能夠控制在必定範圍內。腳本

 日誌切割採用SHELL腳本下面的:split -b 100m $openFile 將日誌切分爲每一個100M文件

這樣每次只須要讀入100M的數據進行處理。一行一條數據的話,切割完也就丟失幾十條壓縮

日誌信息而已,能夠接受。

相關文章
相關標籤/搜索