当我使用 Dask 运行计算任务时,我希望在 Jupyter 笔记本上看到进度条,我正在计算大型 csv 文件 +4GB 中
id
列的所有值,所以有什么想法吗?
import dask.dataframe as dd
df = dd.read_csv('data/train.csv')
df.id.count().compute()
可以使用
progress
方法来查看 Dask 计算任务的进度。此方法需要
dask.diagnostics
模块中的
ProgressBar
类。
以下是如何使用
ProgressBar
显示进度条的方法:
import dask.dataframe as dd
from dask.diagnostics import ProgressBar
# 读取 CSV 文件
df = dd.read_csv('data/train.csv')
# 创建 ProgressBar 对象
pbar = ProgressBar()
# 使用 `progress` 方法启动进度条
with pbar:
result = df.id.count().compute()
# 打印结果
print(result)
这将在 Jupyter Notebook 中显示一个进度条,显示计算进度。
解释:
-
导入
ProgressBar
: 从dask.diagnostics
模块导入ProgressBar
类。 -
创建
ProgressBar
对象: 创建一个ProgressBar
对象,用于显示进度条。 -
使用
with
语句: 使用with
语句确保在计算开始时启动进度条,并在计算结束后自动关闭进度条。 -
compute()
方法: 在with
语句块内,调用compute()
方法执行计算,并确保进度条能够跟踪计算进度。
其他提示:
-
如果的计算任务包含多个阶段,则可以在每个阶段使用单独的
ProgressBar
对象,以便更详细地跟踪进度。 -
还可以使用
dask.diagnostics
模块中的其他工具(例如Profiler
和ResourceProfiler
)来分析 Dask 计算任务的性能。
希望这可以帮助在 Jupyter Notebook 中查看 Dask 计算任务的进度!
标签:python,jupyter-notebook,dask,distributed-computing From: 49039750