数据集上的数据集适合内存加载时间

2024-05-15 21:25:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道dask的主要用途是存储不适合内存的数据,但我还是很好奇。
为什么在创建Pandas数据帧和Dask数据帧时存在时间差异?(我读过关于管理费用的文章,但它是否应该如此重要?)在

enter image description here

enter image description here


Tags: 数据内存pandas文章时间差异dask主要用途
1条回答
网友
1楼 · 发布于 2024-05-15 21:25:27

您不应该期望数据帧的加载速度更快。在某种程度上,系统需要 -从磁盘传输字节(固定成本) -解析文本(此部分可并行化) -在工人之间传递数据(这可能涉及昂贵的序列化和通信) -获取连接(这会占用大量内存,因此如果您周围还有很多工作人员,则可能会非常昂贵)

它需要多长时间在很大程度上取决于您正在使用的调度程序,因为这会影响到需要多少数据副本和进行多少通信。您可能希望尝试使用不同的线程和进程混合使用的分布式调度程序。对任务进行编组总是有一些开销。在

dask模型是将计算转移到数据中,而不是相反。如果对dask数据帧(filter、group、compute、aggregate)进行操作,并且只对相对较小的输出执行.compute(),那么计算将在同样的worker中进行,其中数据也在加载,从而消除了串行化和通信开销。在

不过,总的来说,如果数据能很好地存储在记忆中,那么熊猫的速度可能相当不错。在

相关问题 更多 >