App下載
話題 首頁 > Python2 教程 > Python2 教程話題列表 > 詳情

有沒有方法可以把2個100G合成一個200G?

精華
q462173711 2016-10-20 02:42:32 瀏覽(4998) 回復(4) 贊(0)
目前想實現(xiàn)兩個100G文件合并,日志文件,都有日期,日期會有所交集,如一份1日到10日,另一份5日到15日,所以合并后也需要對日期進行排序。
目標是,查詢某一時間區(qū)段的信息,目前的打算是:
我可以知道每個文件大小和日起始時間,所以若文件過大,就分割它,然后獲取分割小文件的的起始時間,時間區(qū)段只要稍加限制,同時由于log的連續(xù)性和記錄頻率不太高,就能確保就只有幾個小文件包含了用戶需要的信息,然后只返回那幾小份的文件的信息,然后全部直接扔進內(nèi)存排序都不怕,效率也可以。
但我想想,是不是也有辦法,直接真的可以把2個100G合成一個200G的?或有什么更好的辦法,目前在寫模板的基本方法,想封裝好一點以后不管了。但不知道這個要怎么玩。求教,謝謝!
python linux

回答(4)

babyfiyme 2016-10-20

提供個思路:我覺得你分割的思想其實挺好的,只是實際上并不需要真的分割,你要做的只是維護一個索引文件。就是說通過讀一遍文件,每1000條(比方說),將1000條的起始文件偏移和結(jié)束偏移更這1000條的起始時間和結(jié)束時間關(guān)聯(lián)起來。這樣你可以得到一個索引文件。

時間1~時間2,文件1,offset1~offset2
時間3~時間4,文件2,offset3~offset4
...

將來你要查詢的時候,先查索引文件,就可以知道需要的數(shù)據(jù)在哪個文件的什么區(qū)間里面了。因為你每個文件本身是按時間排序的,所以在建立索引的時候無需排序。

一筆荒蕪 2018-05-31

好慢呀,空空如也,半天不來大神解決,大佬在哪啦

1144100656 2018-05-31

好慢呀,空空如也,半天不來大神解決,大佬在哪啦

1152696398 2018-05-31

留名留名!!!,同樣的問題,看看咋結(jié)局!!!

要回復,請先登錄 或者注冊