【发布时间】:2018-03-12 23:30:20
【问题描述】:
将Future 传递给Dask Delayed 函数以使Future 保持完整的最佳方法是什么?换句话说,我们如何确保函数会得到实际的Future,而不是它所代表的结果?
【问题讨论】:
标签: dask dask-distributed dask-delayed
将Future 传递给Dask Delayed 函数以使Future 保持完整的最佳方法是什么?换句话说,我们如何确保函数会得到实际的Future,而不是它所代表的结果?
【问题讨论】:
标签: dask dask-distributed dask-delayed
通常语义是 dask.delayed 函数得到具体的结果,而不是 dask-y 的结果。如果没有一些技巧,今天是不容易支持的。
话虽如此,我推荐以下技巧:
import dask
from dask.distributed import Client, Variable
client = Client()
v = Variable()
@dask.delayed
def f(v):
return v.get().result()
future = client.scatter(123)
f(future).compute()
# 123
【讨论】:
dask.core.literal 有效,这样用起来合理吗?