海量資料問題處理

2022-04-28 17:45:10 字數 696 閱讀 5857

閱讀:

對於該問題文字只是大概給了思路,接下來則是本人進一步思考結果:

本題並沒有對硬體環境進行要求,因此對映的方法為mod1000,如果有記憶體要求,則相應要進行修改。

在對映完之後,硬碟上將有大量的ip,這時以ip為鍵,ip頻率為值進行hash map,考慮到ip可能會有多個,解決辦法是,建立1000個數的陣列,然後一邊操作一邊把頻率最大值放在相應的陣列裡,求陣列的最大值,然後在擁有最大值相應的文字裡通過最大頻率來找相應的ip值。

2、尋找熱門查詢,300萬個查詢字串中統計最熱門的10個查詢

原題:搜尋引擎會通過日誌檔案把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255位元組。假設目前有一千萬個記錄(這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。乙個查詢串的重複度越高,說明查詢它的使用者越多,也就是越熱門),請你統計最熱門的10個查詢串,要求使用的記憶體不能超過1g。

本題對硬體進行了要求:只有1g記憶體,即1024*1024*1024位元組。

雖有一千萬個記錄導致無法一次性全部讀入,但是去掉重複的只有三百萬個,300,0000*255 < 1024*1024*1024,那麼我們可以乙個個的讀取記錄,然後用鍵(查詢串)值(頻率)對來記錄,最後用堆排序,初始化一次,推調整9次就能統計到10個熱門查詢。

海量資料處理 (top K問題)

前兩天面試3面學長問我的這個問題 想說teg的3個面試學長都是好和藹,希望能完成最後一面,各方面原因造成我無比想去鵝場的心已經按捺不住了 這個問題還是建立最小堆比較好一些。先拿10000個數建堆,然後一次新增剩餘元素,如果大於堆頂的數 10000中最小的 將這個數替換堆頂,並調整結構使之仍然是乙個最...

海量資料處理問題

一 給乙個超過100g大小的log file,log中存著ip位址,設計演算法找到出現次數最多的ip位址?該題目要求的是出現次數最多的乙個,有時候題目也會變成求出現次數排名前k的ip位址,兩個問題的解題思路是一致的,只是求前k個會多乙個小步驟,就是建堆,所以現在學習一下,求前k個的思路。100g記憶...

海量資料的處理問題

筆者在實際工作中,有幸接觸到海量的資料處理問題,對其進行處理是一項艱鉅而複雜的任務。原因有以下幾個方面 一 資料量過大,資料中什麼情況都可能存在。如果說有10條資料,那麼大不了每條去逐一檢查,人為處理,如果有上百條資料,也可以考慮,如果資料上到千萬級別,甚至過億,那不是手工能解決的了,必須通過工具或...