2017-06-01 42 views
4

我需要在大型數據集中找到重複項,所以我正在測試dedupe python庫。使用重複數據刪除蟒蛇時資源使用率低

我知道它建議用於小數據集,所以我認爲使用好機器可以提高性能。我有一臺具有56 GB RAM的機器,對於具有200000行的數據集,我正在運行類似於"csv_example"的測試。它可以工作,但內存使用率非常低,所以處理(CPU)。

這似乎需要很長時間阻塞階段:

INFO:dedupe.blocking:10000, 110.6458142 seconds 
INFO:dedupe.blocking:20000, 300.6112282 seconds 
INFO:dedupe.blocking:30000, 557.1010122 seconds 
INFO:dedupe.blocking:40000, 915.3087222 seconds 

任何人都可以幫助我提高使用或告訴我,如果有任何庫/設置,使程序中使用更多的可利用的資源?

回答

2

什麼版本的重複數據刪除是你的運行?從1.6.8開始,它應該很容易地處理這個大小的記錄集。

但是,一般的指導是,當您遇到內存問題時,切換到使用數據庫進行阻塞,例如postgres示例。

(我是重複數據刪除的主要作者)。

+0

謝謝!重複數據刪除是一個偉大的庫。是否可以使用這個庫在火花去重300萬條記錄? :) – mjimcua

+1

我對spark一無所知,但是dedupe應該能夠輕鬆處理300萬條記錄。 – fgregg