2017-03-07 73 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

相關問題