找工作 大資料的處理方式

2022-08-29 04:45:10 字數 1084 閱讀 7416

1. top k問題:在海量資料中找出出現頻率最高的前k個數、或從海量資料中找出最大的前k個數,這類問題統稱為top k問題。

針對top k類問題,通常比較好的方式是分治+hash+小頂堆

eg:在1億個浮點數中找出其中最大的10000個。

方法一:排序取出前10000個。  每個float佔4b,1億個浮點數400mb,對於記憶體小於400mb的該方法不能一次將全部資料讀入記憶體進行排序,而且排序是對所有元素進行排序,做了很多無用功。

方法二:區域性淘汰法。 用乙個容器儲存前10000個數,然後將剩餘數字一一與容器中的最小數字比較,如果所有後續的元素都比容器中10000個數還小,那麼容器內的這10000個數就是最大的10000個數。若某一後續元素比容器內的最小元素大,則刪除掉容器內的最小元素,並將該元素插入容器,最後遍歷完這1億個數,得到結果容器中儲存的數即為最終結果。

方法三:分治法。  將1億個資料分成100份,每份100萬,找出每份資料中最大的10000個,最後在100*10000個資料裡面找出最大的10000個。如果100萬選的足夠理想,那麼可以濾掉1億資料裡面99%的資料。

方法四:最小堆。 先讀10000個資料構造大小為10000的小頂堆,然後遍歷後續的數字,並與堆頂(最小)數字進行比較,若比最小的數字小,則繼續讀取後續數字;若比堆頂數字大,則替換堆頂元素並重新調整堆為小頂堆。直到1億個資料遍歷完畢。

如果在求1億個出現次數最多的100個數,mapreduce  直接將資料均分到不同的機器上進行處理是無法得到正確結果,由於乙個資料可能被分到不同的主機上,而另乙個完全可能狙擊到乙個機器上。

2. 重複問題:在海量資料中查詢重複出現的元素或者去除重複出現的元素。針對此類問題,一般可以用位圖法實現。 例如:已知某個檔案中包含一些**號碼,每個號碼為8位,統計不同號碼的個數。

解決辦法:8位整數可以表示的最大十進位制數值為99999999,如果每個數字對應點陣圖中的乙個為,那麼儲存八位整數大約需要99mbit,因為1byte=8bit,所以99mbit折合成記憶體為99/8=12.375mb的記憶體,既可以使用12.375的記憶體表示所有8位數**號碼的內容。

3. 排序法:海量資料排序。 例如:針對乙個檔案中有9億條不重複的整數,對這個檔案中數字進行排序。

方法一:位圖法

大資料的兩種處理方式

大資料的處理方式有兩種 基於記憶體的流式處理和基於硬碟的儲存處理。流式處理就好象是在經過的資料面前建一道水閘。資料流過這裡,經過閘門的時候,就進行篩選過濾,分析出有價值的內容,然後丟棄,以後也不再使用。儲存處理則是建乙個儲水池。資料先放進入儲水池存起來,需要的時候,再進到儲水池裡,在裡面篩選分析,找...

c tree資料庫的大資料檔案處理方式

在32位系統下,檔案最大為4g,而c tree資料庫的每個表都是以單獨的檔案來儲存的,當檔案達到4g時如果再往該錶插入資料,c tree會丟擲39號錯誤 the 4 byte data record position or node position address space has been e...

找工作的幾種方式

1.智聯招聘,前程無憂,中華英才網。中華英才網已經被58同城收購,招聘市場已經發生了翻天覆地的變化,一定要根據市場需求不斷的變化與創新,否則企業很難存活下去。2.看準網,職友集,內推網,拉鉤網,獵聘網,若鄰網 3.58同城,趕集網,百姓網 4.通過熟人內推找工作 比如你在某家公司工作,你可以推薦你的...