Dask Scatter 广播列表

Dask scatter broadcast a list

使用 Dask 分布式分散广播列表的合适方法是什么?

案例 1 - 包装列表:

[future_list] = client.scatter([my_list], broadcast=True)

情况 2 - 不包装列表:

future_list = client.scatter(my_list, broadcast=True)

在 Dask 文档中我看到了两个示例:1. wrapping (see bottom example) and 2. not wrapping。根据我的经验,案例 1 是最好的方法,如果案例 2 构建 Dask 图(在我的用例中很大)需要更长的时间。

什么可以解释图形构建时间的差异?这是预期的行为吗?

提前致谢。

托马斯

如果您使用 list 调用 scatter,那么 Dask 将假设该列表中的每个元素都应该独立分散。

a, b, c = client.scatter([1, 2, 3], ...)

如果你不想要这个,如果你真的只是想让你的列表作为一个单独的数据来回移动,那么你应该把它包装在另一个列表中

[future] = client.scatter([[1, 2, 3]], ...)