猿问

Dask DataFrames 与 numpy.memmap 性能对比

我开发了一个模型,它使用几个大型 3 维数据集(按 (1e7, 10, 1e5) 的顺序),并对这些数据集的切片进行数百万次读取(和数千次写入)调用。到目前为止,我发现用于进行这些调用的最佳工具是 numpy.memmap,它允许在 RAM 中保存最少的数据,并允许干净的索引和直接在硬盘驱动器上非常快速地调用数据。

numpy.memmmap 的缺点似乎是性能相当不均匀 - 读取数组切片的时间在调用之间可能会相差 2 个数量级。此外,我使用 Dask 并行化脚本中的许多模型函数。

Dask DataFrames 对大型数据集进行数百万次调用的性能如何?将 memmap 替换为 DataFrame 会显着增加处理时间吗?


阿波罗的战车
浏览 149回答 1
1回答

慕码人8056858

您需要使用 Dask Array 而不是 Dask Dataframe。性能通常与 Numpy 相同,因为 Numpy 执行实际计算。根据用例,优化可以加快计算速度。调度程序的开销会降低性能。这仅适用于将数据拆分为多个分区的情况,并且通常可以忽略。
随时随地看视频慕课网APP
我要回答