使用重复数据删除 python 时资源使用率低

mji*_*cua 5 python pyspark record-linkage python-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
Run Code Online (Sandbox Code Playgroud)

谁能帮助我改进使用情况,或者告诉我是否有任何库/设置可以使程序使用更多可用资源?

fgr*_*egg 3

您正在运行什么版本的重复数据删除?从 开始1.6.8,它应该很容易处理这种大小的记录集。

但是,一般指导是,当遇到内存问题时,请切换到使用数据库进行阻塞,如postgres示例中所示。

(我是重复数据删除的主要作者)。

  • 我对 Spark 一无所知,但重复数据删除应该能够轻松处理 300 万条记录。 (2认同)