我在
how to parallelize many (fuzzy) string comparisons using apply in Pandas?使用dask
基本上我做一些计算(没有写任何东西到磁盘)调用Pandas和Fuzzywuzzy(可能不会释放GIL显然,如果这有帮助),我运行如下:
dmaster = dd.from_pandas(master, npartitions=4)
dmaster = dmaster.assign(my_value=dmaster.original.apply(lambda x: helper(x, slave), name='my_value'))
dmaster.compute(get=dask.multiprocessing.get)
但是,代码的变体现在已经运行了10个小时,并且还没有结束.我在Windows任务管理器中注意到了
> RAM利用率非常低,与我的数据大小相对应
> CPU使用率每2/3秒左右从0%反弹至最高5%
>我有大约20个大小为100MB的Python进程,以及一个可能包含30GB大小的数据的Python进程(我有一个128 GB的机器和8核CPU)
问题是:预期的行为是什么?在这里设置一些dask选项显然是非常错误的吗?
当然,我明白细节取决于我到底在做什么,但也许上面的模式已经可以说出某些事情是非常错误的?
非常感谢!!