如何在分布式任务中访问已处理期货的成员

how to access members of processed futures in distributed dask

我正在尝试访问我在集群中初始化的 class 的成员

B = client.submit(KDTree, A)

其中 A 是集群中已有的一些数字列表,KDTreethis 现在我想调用我在进一步列表中创建的 kdtree 的 query_ball_point 方法,但我如何在集群中执行此操作?我设法弄清楚的最好方法是将其用作 map

的函数
lambda x:B.result().query_ball_point(x, 5)

但这不对吧?
也许这个问题的答案在文档中,但我似乎无法 google 正确的事情,这个动作叫什么?

您可以将期货传递给其他提交调用

A_future = client.submit(KDTree, A)

def func(kd_tree, x):
    return kd_tree.query_ball_point(x, 5)

x = client.submit(func, A_future, x)  # or use map here or whatnot