2017-10-09 12 views
2

多くの機能の中でパラメータnpartitionsが表示されていますが、それが何のために良いのかわかりません。Daskデータフレーム内のnpartitionsの役割は何ですか?

http://dask.pydata.org/en/latest/dataframe-api.html#dask.dataframe.read_csv

ヘッド(...)警告が最初のnPartitions内の行をしますnより少ない場合

要素のみが1のデフォルトで、最初のnPartitionsから取られすべての見つかった行が返されます。すべてのパーティションを使用するには、-1を渡します。

配分(...)出力のパーティションの

数、入力のnPartitionsをより小さくなければなりません。部門が指定されていない場合にのみ使用されます。

おそらくこの場合は5パーティションの数です:

(画像ソース:http://dask.pydata.org/en/latest/dataframe-overview.html

答えて

1

npartitionsプロパティは、単一のDASKのデータフレームを構成するパンダのデータフレームの数です。これは、主に2つの方法でパフォーマンスに影響します。

  1. 十分なパーティションがない場合は、すべてのコアを効果的に使用できないことがあります。たとえば、dask.dataframeにパーティションが1つしかない場合、一度に1つのコアしか動作できません。
  2. パーティションが多すぎると、スケジューラで各タスクの計算場所を決定するオーバーヘッドが大きくなる可能性があります。

通常、コアを持つパーティションよりも数倍のパーティションが必要です。すべてのタスクはスケジューラで数百マイクロ秒を要します。

blocksize=read_csv(...)のようなパラメータを使用して、またはその後に.repartition(...)メソッドを使用して、データの収集時にパーティションの数を決定できます。

関連する問題