Dask 多个客户端
Dask multiple clients
是否可以同时拥有多个客户端?例如,我可以有多个线程 运行 每个线程一个客户端,这样当一个线程阻塞时,其他线程可以继续吗?在这种情况下,每个客户端都会有独立的任务图,它们彼此不依赖。
作为后续问题,如果可能的话,我如何指定 运行 特定任务的位置?当我执行 dd.read_csv,然后调用计算时,我如何知道哪个客户端及其关联的调度程序/工作程序正在执行此操作?
Is it possible to have multiple clients in dask
是的,这是可能的,例如,您可以同时在一个集群上进行 运行ning 计算,在另一个集群上进行其他计算
can I have multiple threads running with one client per thread
你的工作运行不是客户,而是工作人员,所以我不确定你在问什么。
when one thread blocks, the others can continue
客户端主要是异步的,应该阻塞的操作很少,调用时由您决定。
when call compute, how do I know which client and its associated scheduler / workers is executing this
thing.compute()
将使用默认客户端,这将是最近创建的客户端。函数 dask.distributed.get_client()
将为您获取正确的那个。
要选择使用哪个,您可以使用以下任一方法:
fut = client.compute(thing)
fut.result() or client.gather(fut)
with client:
thing.compute()
是否可以同时拥有多个客户端?例如,我可以有多个线程 运行 每个线程一个客户端,这样当一个线程阻塞时,其他线程可以继续吗?在这种情况下,每个客户端都会有独立的任务图,它们彼此不依赖。
作为后续问题,如果可能的话,我如何指定 运行 特定任务的位置?当我执行 dd.read_csv,然后调用计算时,我如何知道哪个客户端及其关联的调度程序/工作程序正在执行此操作?
Is it possible to have multiple clients in dask
是的,这是可能的,例如,您可以同时在一个集群上进行 运行ning 计算,在另一个集群上进行其他计算
can I have multiple threads running with one client per thread
你的工作运行不是客户,而是工作人员,所以我不确定你在问什么。
when one thread blocks, the others can continue
客户端主要是异步的,应该阻塞的操作很少,调用时由您决定。
when call compute, how do I know which client and its associated scheduler / workers is executing this
thing.compute()
将使用默认客户端,这将是最近创建的客户端。函数 dask.distributed.get_client()
将为您获取正确的那个。
要选择使用哪个,您可以使用以下任一方法:
fut = client.compute(thing)
fut.result() or client.gather(fut)
with client:
thing.compute()