熱線電話:13121318867

登錄
首頁精彩閱讀處理大數據量的算法的一些心得 _數據分析師
處理大數據量的算法的一些心得 _數據分析師
2014-12-11
收藏

處理大數據量的算法的一些心得 _數據分析師


幾百萬的待處理目標,有木有!每一個目標有幾十個附加信息也要處理,有木有!內存永遠是不夠的,有木有! 只有用文件來幫忙,有木有!

 把數據都載入內存? 呵呵,我是不會有這種想法了。 可以不與文件打交道嗎?想都不用想。 碰見大數據,一定要將數據保存在文件里,然后通過反復讀寫文件,將數據加載到內存中,再進行對數據的處理。對了,反復讀寫文件,一定會很慢的,要提高速度,暫時學到兩個方法:1---通過內存映射,將文件地址映射到內存中,這樣加載文件中數據到內存會快很多(當然我碰到過要讀取幾千萬,幾億次的情況,一樣不達標,但是總比文件api快不知道哪里去了) 2---采取分塊處理,分片處理的方法,建立緩沖區,將相關數據讀取到內存中,比如要處理a, 但是處理a要用到b,那么我們可以先讀取a,再讀取b,處理ing,完畢后,將a寫入文件,將b寫入文件。那么以后處理b呢,我們又要再一次將b讀入到內存中,重復操作,費時,更優的方法當然是處理完a后,暫時保留b在內存中,等到將b(當然可能還有cdefg)也處理完后,再釋放。不過,代價就是要貢獻一點內存(內存實在是太寶貴了,真心舍不得)。

 
關于內存映射,只會基本操作,但是有時出現莫名其妙的問題,一般是映射的文件多了后發生,比如今天(到no.100后就說heap corruption,這是蝦米情況,關堆屁事),一定要解決,搞懂原理?。?!

將數據保存到文件中的時候,有兩種方式,文本方式和二進制方式,二進制一定是優先的,方便很多,數據會保存的比較整齊。文本方式就是方便查看,一般情況下,文本方式要比二進制方式麻煩很多(二進制文件占用空間小,載入內存更加方便,當然,特殊情況除外)。

 以上是對大數據的暫時認識,希望能有進步,對這個能有新的認識和更先進的方法

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢