gpt4 book ai didi

python - dask计算不并行执行

转载 作者:太空狗 更新时间:2023-10-29 21:45:44 25 4
gpt4 key购买 nike

我有一个 json 文件目录,我正在尝试将其转换为 dask DataFrame 并将其保存到 castra。有200个文件,它们之间包含O(10**7)个json记录。代码非常简单,主要遵循教程示例。

import dask.dataframe as dd
import dask.bag as db
import json
txt = db.from_filenames('part-*.json')
js = txt.map(json.loads)
df = js.to_dataframe()
cs=df.to_castra("data.castra")

我在一台 32 核机器上运行它,但代码仅 100% 使用了一个核。我从文档中了解到这段代码是并行执行的。为什么不是呢?我是不是误会了什么?

最佳答案

您的最终集合是一个 dask 数据框,它默认使用线程,您必须明确告诉 dask 使用进程。

你可以在全局范围内这样做

import dask
dask.config.set(scheduler='multiprocessing')

或者只在 to_castra 调用上执行此操作

df.to_castra("data.castra", scheduler='multiprocessing')

此外,作为警告,Castra 主要是一项实验。它速度相当快,但也不像 HDF5 或 Parquet 那样成熟。

关于python - dask计算不并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com