用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。