2017-03-07 54 views
3

我正在研究一个具有24个vCPU的Google云计算实例。运行的代码如下使用Dask中的所有内核

import dask.dataframe as dd 
from distributed import Client 
client = Client() 

#read data 
logd = (dd.read_csv('vol/800000test', sep='\t', parse_dates=['Date']) 
     .set_index('idHttp') 
     .rename(columns={'User Agent Type':'UA'}) 
     .categorize()) 

当我运行它(这也是后数据分析,我加载数据后做的情况下),我可以看到使用11个芯,有时4.

enter image description here

有什么办法可以更好地控制这个,并充分利用核心?

+0

图片看起来很不错。我可以知道如何绘制上面的图片吗? –

回答

1

read_csv会根据chunksize参数将文件拆分成块,每个输入文件至少包含一个块。您只读取一个文件,看起来您正在获得四个分区(即大小为< 4 * 64MB)。这对于数据量可能是合理的,并且许多小任务的额外并行可能只会增加开销。尽管如此,你可以改变blocksize参数,看看它对你有什么不同,或者看看当你传递多个文件时会发生什么,例如,read_csv('vol/*test')。或者,您可以将呼叫中的分区设置为set_index

相关问题