用法:
class distributed.Client(address=None, loop=None, timeout='__no_default__', set_as_default=True, scheduler_file=None, security=None, asynchronous=False, name=None, heartbeat_interval=None, serializers=None, deserializers=None, extensions=[<class 'distributed.pubsub.PubSubClientExtension'>], direct_to_workers=None, connection_limit=512, **kwargs)
连接到 Dask 集群并向其提交计算
客户端将用户连接到 Dask 集群。它提供了一个围绕函数和期货的异步用户接口。此类类似于
concurrent.futures
中的执行程序,但也允许在submit/map
调用中使用Future
对象。当客户端被实例化时,它默认接管所有dask.compute
和dask.persist
调用。在不指定调度程序地址的情况下创建客户端也很常见,例如
Client()
。在这种情况下,客户端会在后台创建一个LocalCluster
并连接到它。在这种情况下,任何额外的关键字都会从客户端传递到 LocalCluster。有关详细信息,请参阅LocalCluster 文档。- address: string, or Cluster:
这可以是
Scheduler
服务器的地址,例如字符串'127.0.0.1:8786'
或集群对象,例如LocalCluster()
- loop:
事件循环
- timeout: int:
初始连接到调度程序的超时持续时间
- set_as_default: bool (True):
将此客户端用作全局 dask 调度程序
- scheduler_file: string (optional):
带有调度程序信息的文件的路径(如果可用)
- security: Security or bool, optional:
可选的安全信息。如果创建本地集群也可以传入
True
,在这种情况下会自动创建临时的 self-signed 凭据。- asynchronous: bool (False by default):
如果在 async/await 函数或 Tornado 中使用此客户端,则设置为 True gen.coroutines 否则,对于正常使用,这应该保持为 False。
- name: string (optional):
为客户端提供一个名称,该名称将包含在调度程序为与该客户端相关的事务生成的日志中
- heartbeat_interval: int (optional):
心跳到调度程序之间的时间(以毫秒为单位)
- serializers:
序列化对象时使用的可迭代方法。有关更多信息,请参见序列化。
- deserializers:
反序列化对象时使用的可迭代方法。有关更多信息,请参见序列化。
- extensions:列表
扩展名
- direct_to_workers: bool (optional):
是否直接连接到worker,或者要求调度器充当中介。
- connection_limit:int
连接池中一次维护的打开通信数
- **kwargs:
如果您不传递调度程序地址,客户端将创建一个
LocalCluster
对象,并传递任何额外的关键字参数。
参数:
例子:
在初始化时提供集群的调度程序节点地址:
>>> client = Client('127.0.0.1:8786')
使用
submit
方法将单个计算发送到集群>>> a = client.submit(add, 1, 2) >>> b = client.submit(add, 10, 20)
继续使用提交或映射结果来构建更大的计算
>>> c = client.submit(add, a, b)
使用
gather
方法收集结果。>>> client.gather(c) 33
您也可以不带参数调用 Client 来创建自己的本地集群。
>>> client = Client() # makes your own local "cluster"
额外的关键字将直接传递给LocalCluster
>>> client = Client(n_workers=2, threads_per_worker=4)
相关用法
- Python distributed.Client.gather用法及代码示例
- Python distributed.Client.ncores用法及代码示例
- Python distributed.Client.retire_workers用法及代码示例
- Python distributed.Client.unregister_worker_plugin用法及代码示例
- Python distributed.Client.set_metadata用法及代码示例
- Python distributed.Client.scheduler_info用法及代码示例
- Python distributed.Client.submit用法及代码示例
- Python distributed.Client.compute用法及代码示例
- Python distributed.Client.nthreads用法及代码示例
- Python distributed.Client.unpublish_dataset用法及代码示例
- Python distributed.Client.start_ipython_scheduler用法及代码示例
- 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用法及代码示例
- Python distributed.Client.log_event用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 distributed.Client。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。