找到100亿个URL中重复的URL及搜索词汇的TopK问题
生活随笔
收集整理的這篇文章主要介紹了
找到100亿个URL中重复的URL及搜索词汇的TopK问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:有一個包含100億個url的大文件,假設每個url占用64B,請找出其中所有重復的url
補充問題:某搜索公司一天的用戶搜索詞匯是海量的,請設計一種求出每天熱門的top 100 詞匯的可行方法
?
思想:用哈希分流的思想來處理,把包含百億數量的詞匯文件分流到不同機器上,具體多少臺機器根據面試官規定或者更多的限制來決定。對每一臺機器來說,如果分到的數據量依然很大,比如內存不夠或其它問題,可以再用哈希函數把每臺機器的流文件拆成更小的文件處理。處理每一個小文件的時候,通過哈希表統計每種詞及其詞頻,哈希表記錄建立之后,再遍歷哈希表,遍歷過程中使用小根堆來選擇topk。
總結
以上是生活随笔為你收集整理的找到100亿个URL中重复的URL及搜索词汇的TopK问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 40个亿非负整数中找到未出现的数
- 下一篇: 一致性哈希算法的基本原理