2017-06-01 4 views
4

Ich muss Dubletten in einem großen Dataset finden, also teste ich dedupe Python-Bibliothek.Geringe Ressourcenverbrauch bei der Verwendung von Deduplizierungspython

Ich weiß, dass es für kleine Datensätze empfohlen wird, also dachte ich, dass die Verwendung einer guten Maschine die Leistung verbessern könnte. Ich habe eine Maschine mit 56 GB RAM und ich führe einen ähnlichen Test wie "csv_example" für einen Datensatz mit 200000 Reihen durch. Es funktioniert aber die Speicherauslastung ist sehr gering und damit die Verarbeitung (CPU).

Es scheint zu lange in der Sperrstufe zu nehmen:

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 

Könnte mir jemand helfen, die Nutzung oder sagen Sie mir, zu verbessern, wenn es eine Bibliothek/Einstellung ist, dass das Programm Nutzung vorhandener Ressourcen macht?

Antwort

2

Welche Version von Dedupe laufen Sie? Ab 1.6.8 sollte es einen Datensatz dieser Größe ziemlich einfach handhaben.

Die allgemeine Anleitung ist jedoch, dass, wenn Sie in Speicherprobleme geraten, wechseln Sie mit einer Datenbank wie im Beispiel postgres Blockieren tun.

(Ich bin ein Hauptautor von Deduplizierung).

+0

Danke! dedupe ist eine großartige Bibliothek. ist es möglich diese Bibliothek in Spark zu verwenden, um 3000000 Datensätze zu deduplizieren? :) – mjimcua

+1

Ich weiß nichts über Funken, aber Deduplizierung sollte in der Lage sein, 3 Millionen Datensätze ziemlich leicht zu handhaben. – fgregg

Verwandte Themen