2016-03-28 66 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