2016-03-28 61 views
1

documentation of the Dask package for dataframes说:Dask数据框如何处理大于内存的数据集?

DASK dataframes看起来像是熊猫dataframes,但不是使用多线程内存较大 数据集执行操作。

但是在同一个页面后:

一个DASK数据帧由沿指数分隔的多个内存大熊猫DataFrames 。

是否Dask从磁盘连续读取不同的DataFrame分区并执行计算以适应内存?需要时是否将某些分区溢出到磁盘上?一般来说,Dask如何管理内存< - >数据的磁盘IO以允许大于内存的数据分析?

我试图对10M MovieLens数据集和笔记本电脑(8GB RAM)进行一些基本计算(例如平均评级)开始交换。

+0

你可能会考虑一个关于你的movielens问题发生了什么的更详细的问题。 – MRocklin

+1

显然我的movielens问题是由sep'::'被大熊猫解释为正则表达式引起的。将它分成';'现在它在主内存中加载没有问题。 – dukebody

回答

3

Dask.dataframe懒惰地加载数据并尝试在一个线性扫描中执行整个计算通过数据集。令人惊讶的是,这通常是可行的。

智能倾倒到磁盘也是它可以管理的选项,尤其是在需要洗牌时,但通常有解决方法。

+0

谢谢。你知道我可以找到有关Dask如何管理磁盘/内存io的文档吗?官方文件没有说明这一点。 – dukebody