私は1Bレコード以上の寄木細工のファイルを持っています。 私は、次のステートメントでgroupby
を実行しようとしている:私は次のように構成されたclient
で実行しているよDask groupby MemoryError:
dfg = df[['col1','col2','col3']].groupby(['col1','col2']]).count().compute()
。
client = distributed.Client(set_as_default=True)
私はMemoryError:
は、私は別のクライアント構成で実行されている必要があり得ますか?
私はコアをスタンドアロンのワークステーション上で実行しています:24、メモリ:123ギガバイトところで
- 終わりに私は新しいカラムとして元df
にcount
背中を保存する必要があります。
提案がありますか? Dask
ではなく、groupby
をデータベースで実行する必要がありますか?
小さいパーティションの寄木細工を再作成する必要がありますか?そうであれば、 'dask'はこれを行うオプションを持つことができます(' partition_on'パラメータは関係ありません)。 'client.distribution'の設定を支援できますか? –
これがあなたの問題であるかどうかわかりません。それは盲目の推測です。 – MRocklin
レコードのために - 24コアと123 GBのメモリを持つシングルマシンでは、Daskで250億レコードの 'group by'を実行することができず、' SQL SERVER'に移動しなければなりませんでした。マシンには192GBのRAMがありますが、 'dask cluster 'はすべてのRAMを識別できませんでした。 –