使用Dask disitributed 分散广播列表的适当方法是什么?
案例1 - 包装清单:
[future_list] = client.scatter([my_list], broadcast=True)
案例2 - 未包装列表:
future_list = client.scatter(my_list, broadcast=True)
在Dask文档中,我看到了两个示例:1. wrapping (see bottom example)和2. not wrapping。根据我的经验,案例1是最好的方法,如果2构建Dask图(在我的用例中很大)需要更长的时间。
什么可以解释图形构建时间的差异?这是预期的行为吗?
提前致谢。
托马斯
答案 0 :(得分:3)
如果使用x*x*x
调用scatter,则Dask将假定该列表的每个元素应该独立分散。
list
如果您不想这样做,如果您实际上只是希望将列表作为单个数据移动,那么您应该将其包装在另一个列表中
a, b, c = client.scatter([1, 2, 3], ...)