import dask.distributed
def f(x, y):
return x, y
client = dask.distributed.Client()
client.map(f, [(1, 2), (2, 3)])
不行。
[<Future: status: pending, key: f-137239e2f6eafbe900c0087f550bc0ca>,
<Future: status: pending, key: f-64f918a0c730c63955da91694fcf7acc>]
distributed.worker - WARNING - Compute Failed
Function: f
args: ((1, 2))
kwargs: {}
Exception: TypeError("f() missing 1 required positional argument: 'y'",)
distributed.worker - WARNING - Compute Failed
Function: f
args: ((2, 3))
kwargs: {}
Exception: TypeError("f() missing 1 required positional argument: 'y'",)
你没有完全签名 - 也许文件不清楚(建议欢迎)。 Client.map()
为每个提交的任务提取(可变数量)参数集,而不是单个可迭代的事物。你应该这样说
client.map(f, (1, 2), (2, 3))
或者,如果你想更接近原始模式
client.map(f, *[(1, 2), (2, 3)])