Python 如何按Dask列出正在运行的进程?

Python 如何按Dask列出正在运行的进程?,python,dask,Python,Dask,我正从达斯克开始。为了我自己的理解(以及我想向其演示dask的同事的理解),我想构造一个基本的数据帧,执行一个基本的操作,并将执行时间与只使用熊猫的实现进行比较。这是我非常简单的尝试: import dask import dask.multiprocessing import dask.dataframe as dd import pandas as pd import time dask.set_options(get=dask.multiprocessing.get) start =

我正从达斯克开始。为了我自己的理解(以及我想向其演示dask的同事的理解),我想构造一个基本的数据帧,执行一个基本的操作,并将执行时间与只使用熊猫的实现进行比较。这是我非常简单的尝试:

import dask
import dask.multiprocessing
import dask.dataframe as dd
import pandas as pd
import time

dask.set_options(get=dask.multiprocessing.get)

start = time.time()

df = dd.from_pandas(pd.DataFrame(data={'a': list(range(10))}), npartitions=4)
df['a'].apply(lambda x: time.sleep(2))

end = time.time()

print(f'time elapsed: {end - start}')
我之所以使用多处理调度程序,是因为我希望在单独的shell中看到进程出现在
ps aux | grep python
调用中。然而,我没有看到他们。出于演示目的,是否有一种方法列出dask正在使用的所有进程


作为记录,我确实看到了运行时间的改进。pandas实现(此处未显示)需要20秒,而dask版本需要4秒。但是,考虑到我使用了4个分区,我预计需要5个分区。

如果您使用的是多处理调度程序,那么Dask会在每次调用
计算时创建并销毁一个
多处理.Pool

对于演示,我通常使用,它包括一个漂亮的仪表板,其中包含显示流程、活动等的页面

$ pip install dask[complete] bokeh
or
$ conda install dask bokeh
然后


谢谢当我运行我在问题中发布的代码时,我仍然没有看到太多的变化,但是使用
time.sleep()
可能不是一个好方法。
from dask.distributed import Client
client = Client()

# navigate to http://localhost:8787/status