Python 分布式dask:提高小数据帧的速度
我正在尝试使用dask将工作从web服务器转移到交互式数据分析应用程序的工作人员身上。对于我的应用程序典型的数据帧大小,与内存中的熊猫计算相比,简单的Python 分布式dask:提高小数据帧的速度,python,dask,dask-distributed,Python,Dask,Dask Distributed,我正在尝试使用dask将工作从web服务器转移到交互式数据分析应用程序的工作人员身上。对于我的应用程序典型的数据帧大小,与内存中的熊猫计算相比,简单的groupby()和mean()在dask上的计算速度要慢三倍。我知道这不是达斯克的目标。但是,我发现分布式dask更适合在交互式应用程序中卸载数据(与芹菜相比,芹菜的工作不能是交互式的) 除了做持久化之外,我还能做些什么来进一步提高计算速度吗。例如,我能否以某种方式通知系统,数据帧较小,因此最好在计算所依赖的持久数据所在的节点上执行数据帧 csv
groupby()
和mean()
在dask
上的计算速度要慢三倍。我知道这不是达斯克的目标。但是,我发现分布式dask更适合在交互式应用程序中卸载数据(与芹菜相比,芹菜的工作不能是交互式的)
除了做持久化之外,我还能做些什么来进一步提高计算速度吗。例如,我能否以某种方式通知系统,数据帧较小,因此最好在计算所依赖的持久数据所在的节点上执行数据帧
csv = dd.read_csv(r'path-to-csv.csv')
df = csv.persist()
# Bringing to this machine
df2 = df.compute()
def f1():
return df.groupby('Color').mean().compute()
def f2():
return df2.groupby('Color').mean()
timeit.timeit('f1()', setup='from __main__ import f1', number=100)
timeit.timeit('f2()', setup='from __main__ import f2', number=100)
可能是您正在寻找的解决方案
你可以找到莫丁和达斯克之间的比较