用法:
scatter(data, workers=None, broadcast=False, direct=None, hash=True, timeout='__no_default__', asynchronous=None)
将数据分散到分布式内存中
这会将数据从本地客户端进程移动到分布式调度程序的工作人员中。请注意,通常最好将作业提交给您的工作人员以让他们加载数据,而不是在本地加载数据然后将其分散给他们。
- data:列表、字典或对象
分发给工人的数据。输出类型匹配输入类型。
- workers:元组列表(可选)
可选地限制数据的位置。将工作人员指定为主机名/端口对,例如
('127.0.0.1', 8787)
。- broadcast:布尔型(默认为 False)
是否将每个数据元素发送给所有工作人员。默认情况下,我们 round-robin 基于内核数。
- direct:bool(默认自动检查)
是否直接连接到worker,或者要求调度器充当中介。这也可以在创建客户端时设置。
- hash:布尔(可选)
是否对数据进行散列以确定 key 。如果 False 则使用随机 key
- timeout:编号,可选
引发
dask.distributed.TimeoutError
的时间(以秒为单位)- asynchronous: bool:
如果为 True,则客户端处于异步模式
- 与输入类型匹配的期货列表、字典、迭代器或队列。
参数:
返回:
例子:
>>> c = Client('127.0.0.1:8787') >>> c.scatter(1) <Future: status: finished, key: c0a8a20f903a4915b94db8de3ea63195>
>>> c.scatter([1, 2, 3]) [<Future: status: finished, key: c0a8a20f903a4915b94db8de3ea63195>, <Future: status: finished, key: 58e78e1b34eb49a68c65b54815d1b158>, <Future: status: finished, key: d3395e15f605bc35ab1bac6341a285e2>]
>>> c.scatter({'x': 1, 'y': 2, 'z': 3}) {'x': <Future: status: finished, key: x>, 'y': <Future: status: finished, key: y>, 'z': <Future: status: finished, key: z>}
将数据的位置限制为工作人员的子集
>>> c.scatter([1, 2, 3], workers=[('hostname', 8788)])
向所有工作人员广播数据
>>> [future] = c.scatter([element], broadcast=True)
使用客户端期货接口将分散的数据发送到并行函数
>>> data = c.scatter(data, broadcast=True) >>> res = [c.submit(func, data, i) for i in range(100)]
相关用法
- Python distributed.Client.scheduler_info用法及代码示例
- Python distributed.Client.set_metadata用法及代码示例
- Python distributed.Client.submit用法及代码示例
- Python distributed.Client.start_ipython_scheduler用法及代码示例
- Python distributed.Client.start_ipython_workers用法及代码示例
- Python distributed.Client.gather用法及代码示例
- Python distributed.Client.ncores用法及代码示例
- Python distributed.Client.retire_workers用法及代码示例
- Python distributed.Client.unregister_worker_plugin用法及代码示例
- Python distributed.Client.compute用法及代码示例
- Python distributed.Client.nthreads用法及代码示例
- Python distributed.Client.unpublish_dataset用法及代码示例
- Python distributed.Client.get用法及代码示例
- Python distributed.Client.publish_dataset用法及代码示例
- Python distributed.Client.who_has用法及代码示例
- Python distributed.Client.get_versions用法及代码示例
- Python distributed.Client.profile用法及代码示例
- Python distributed.Client.run用法及代码示例
- Python distributed.Client.register_worker_plugin用法及代码示例
- Python distributed.Client.map用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 distributed.Client.scatter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。