我使用8核机器上的分布式调度程序在本地运行dask。初始化时,我看到:
哪个看起来正确,但是我对诊断中的任务流感到困惑(如下所示):
我期望有8行对应于8个工作人员/核心,这不正确吗?
谢谢
AJ
我添加了我正在运行的代码:
import dask.dataframe as dd
from dask.distributed import Client, progress
client = Client()
progress(client)
# load datasets
trd = (dd.read_csv('trade_201811*.csv', compression='gzip',
blocksize=None, dtype={'Notional': 'float64'})
.assign(timestamp=lambda x: dd.to_datetime(x.timestamp.str.replace('D', 'T')))
.set_index('timestamp', sorted=True))
答案 0 :(得分:1)
每行对应一个单线程。一些更复杂的Dask操作将启动其他线程,尤其是在任务启动其他任务时,尤其是在机器学习工作负载中,这种情况尤其容易发生。
我的猜测是您正在使用以下方法之一:
dask.distributed.get_client
或dask.distributed.worker_client
如果是,则您看到的行为是正常的。任务流图看起来有些奇怪,是的,但希望它仍然可以解释。