大資料面試題 如何找出訪問最多的IP

2021-09-02 02:11:48 字數 478 閱讀 6194

問題描述:

現有海量日誌資料儲存在乙個超大的檔案中,該檔案無法直接存入記憶體,要求從 中提取某天訪問bd次數最多的ip

分析解讀:

由於這個題目只關心某一天訪問次數最多的ip,因此可以首先對檔案進行一次遍歷,把這一天訪問的ip的相關資訊記錄到乙個單獨的檔案中。接下來可以用之前的方法來進行求解。唯一需要確定的是把乙個大檔案分成多少個小檔案比較合適。以ipv4為例子,由於乙個ip位址占用32位,因此最多會有2^32=4g種取值情況。如果使用hash(ip)%1024值,那麼把海量ip日誌分別儲存到1024個小檔案中。這樣,每個小檔案最多包含4m個ip位址。如果使用2048個小檔案,那麼每個小檔案會最多包含2m個ip位址。因此,對於這種題目來說,首先需要確定可用的記憶體的大小,然後確定資料的大小。由這兩個引數就可以確定hash函式應該怎麼設定才能保證每個檔案的大小都不超過記憶體的大小,從而可以保證每個小檔案都能被一次性載入到記憶體中。

大資料面試題

海量資料面試題整理 1.給定a b兩個檔案,各存放50億個url,每個url各佔64位元組,記憶體限制是4g,讓你找出a b檔案共同的url?方案1 可以估計每個檔案安的大小為50g 64 320g,遠遠大於記憶體限制的4g。所以不可能將其完全載入到記憶體中處理。考慮採取分而治之的方法。s 求每對小...

大資料面試題

1.列舉spark 比hadoop 快的原 因 以及現在存在的主要問題 2.描述下使用spark streaming 和 graphx實現實時計算的可行性,以及可能會遇到的問題 3.graphx的pregel api 只支援有向圖遍歷 如何實現無xiang 遍歷,描述思路 4.spark 通過yar...

大資料面試題

1 mapreduce的大致流程 2 列出正確的hadoop集群中hadoop都分別啟動那些程序,他們的作用分別是什麼,盡量詳細些。3 請列出你所知道的hadoop排程器,並簡要說明其工作方法。4.flume不採集nginx日誌,通過logger4j採集日誌,優缺點是什麼?在nginx採集日誌時無法...