2016-03-28 10 views
1

documentation of the Dask package for dataframesは言う:Daskデータフレームは、メモリより大きいデータセットをどのように扱うのですか?

DASKのデータフレームを見て、パンダのデータフレームのように感じるが、複数のスレッドを使用してメモリよりも大きな データセット上で動作します。

しかし、その後同じページに:

一つDASKのデータフレームは、インデックスに沿って分離いくつかのインメモリパンダのデータフレーム で構成されています。

DASKは、ディスクsequentallyから異なるデータフレームのパーティションを読み込み、メモリに収まるように計算を実行していますか?必要なときにディスクにいくつかのパーティションをこぼしてしまいますか?一般的に、Daskはメモリを管理しています- >ディスクIOのデータの大規模なデータ分析を可能にするには?

10M MovieLensデータセットとラップトップ(8GB RAM)の基本的な計算(たとえば平均格付け)を交換しようとしました。

+0

あなたのmovielensの問題で何が起こっているのかについてより詳細な質問が考えられます。 – MRocklin

+1

明らかに、私のmovielensの問題は、sep '::'がPandasの正規表現として解釈されているために発生していました。それをsed-edにして ';'メインメモリに問題なくロードされます。 – dukebody

答えて

3

Dask.dataframeはデータを遅延読み込みし、データセット全体の1回のリニアスキャンで計算全体を実行しようとします。意外にも、これは通常実行可能です。

ディスクにインテリジェントにダンプすることも、特にシャッフルが必要な場合には管理できるオプションですが、一般的にこれを回避する方法があります。

+0

ありがとうございます。 Daskがディスク/メモリをどのように正確に管理しているかについてのドキュメントを見つけることができる場所はどこですか?公式の文書では、これはあまり明確ではありません。 – dukebody

関連する問題