每日N題 由海量資料去重所想到的,面試思維慣式

2021-06-09 18:03:26 字數 831 閱讀 1269

今天在同事的桌子上看到乙份簡歷,看了看。在簡歷的後面寫了幾道題,應該是給他準備的面試題。看了下,有點感觸,就隨便寫寫吧。

下週,我要和公司簽合同,要是不理想可能也得找工作。看到那幾道面試題,我自然而然地想到,如果我是應聘者,我該會怎麼回答。而我在看這個題目的時候,突然意識到乙個問題:我們經常按面試思路去回答問題,而不是按工作中遇到這個問題會怎麼處理。

那個題目記不太清楚了,大概描述下:

有一批海量的url資料,如何去重?或者是說有兩份url資料,如何找出交集。當然,資料量也是海量的,也就是說一台記憶體搞不定,或說存不了,比如上t。

我看了下同事在題目下面寫的答案,感覺比較官方。比較像網上大家的思路。

給了三個答案,具體記不清了,只記得倆:

1、hash到不同節點,分而治之。

2、bloom filter

其實,當我看到題目時,我也是這樣想的。可以說,乙個應聘者經常按這種思路去想。然後,我就突然意識到如果工作中真遇到這個問題呢?我想我肯定不會這麼做的。我就立刻想到了其他的思路。

就比如海量資料去重,我肯定不會用之前那幾種方法,如果用hash分而治之思想,那我得寫hash方法,寫節點間的資訊通訊,還要解決一堆通訊過程中失敗的問題。而bloom filter呢,情況也好不了**去,而且bloom filter是有誤差的。如果,我們跳出面試的思維呢?

我們只需使用個map reduce,map 中就乙個cat ,reduce中uniq 的shell命令 就可以了。我們不怕資料量的規模,因為我們可以用n多的節點。相同的資料肯定落在reduce上的相同節點,因為它自帶了sort的功能。

就這麼簡單,幾乎就沒開發工作量。可見,我們經常的面試,看了過多的面試題,就很容易形成一些思維慣式。

海量資料去重

巧用mapreduce hdfs,海量資料去重的五大策略 hadoopsphere mapreducehdfshadoop儲存hbasededoop雲計算.摘要 隨著收集到資料體積的激增,去重無疑成為眾多大資料玩家面對的問題之一。重複資料刪除在減少儲存 降低網路頻寬方面有著顯著的優勢,並對擴充套件性...

海量資料去重

法一 hash,通過雜湊對映構建原始資料與hash值之間的關係。若雜湊值相同則存在相同的資料,剔除即可。缺點 需要儲存該資料與對映關係。法二 bitmap,位圖法,對於去重的問題,我們只需要標記該資料有沒有出現過,並不需要去儲存該資料。從這方面入手,便有了bitmap。這裡我們假設待處理的資料是in...

海量資料去重之SimHash演算法簡介和應用

simhash是什麼 simhash是google在2007年發表的 detecting near duplicates for web crawling 中提到的一種指紋生成演算法或者叫指紋提取演算法,被google廣泛應用在億級的網頁去重的job中,作為locality sensitive ha...